急急急!!tomcat+sql server 连接问题

雷管
急急急!!tomcat+sql server 连接问题

刚接触jsp,这几天这配置环境,看了N多的帖子,但是怎么也连不上数据库,自杀的念头都有了,真郁闷

,希望会的兄弟不吝赐教

具体环境如下
win2000
sql server 2000 sp4
sql的驱动是sp3
Apache Tomcat/5.5.26

环境变量
path

%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;C:/Program

Files/ThinkPad/ConnectUtilities;C:/Program Files/ATI Technologies/ATI Control

Panel;C:/Program Files/Microsoft SQL Server/80/Tools/BINN;%JAVA_HOME%/bin;C:/Program

Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msbase.jar;C:/Program Files/Microsoft

SQL Server 2000 Driver for JDBC/lib/mssqlserver.jar;C:/Program Files/Microsoft SQL Server

2000 Driver for JDBC/lib/msutil.jar;

classpath

.;Java_HOME/lib/dt.jar;.;Java_HOME/lib/servletapi.jar;JAVA_HOME/lib/tools.jar;CATALINA_HOME/

common/lib/servlet.jar;C:/Program Files/Microsoft SQL Server 2000 Driver for

JDBC/lib/msbase.jar;C:/Program Files/Microsoft SQL Server 2000 Driver for

JDBC/lib/mssqlserver.jar;C:/Program Files/Microsoft SQL Server 2000 Driver for

JDBC/lib/msutil.jar;

java_home

C:/jdk1.5.0


CATALINA_HOME

D:/apache-tomcat-5.5.26


tomcat报错

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling

this request.

exception

org.apache.jasper.JasperException: Name jdbc is not bound in this Context
       

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: Name jdbc is not bound in this Context
       

org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
       

org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
        org.apache.jsp.ce_jsp._jspService(ce_jsp.java:127)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
        org.apache.naming.NamingContext.lookup(NamingContext.java:770)
        org.apache.naming.NamingContext.lookup(NamingContext.java:140)
        org.apache.naming.NamingContext.lookup(NamingContext.java:781)
        org.apache.naming.NamingContext.lookup(NamingContext.java:140)
        org.apache.naming.NamingContext.lookup(NamingContext.java:781)
        org.apache.naming.NamingContext.lookup(NamingContext.java:153)
        org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
        javax.naming.InitialContext.lookup(InitialContext.java:351)
        org.apache.jsp.ce_jsp._jspService(ce_jsp.java:92)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.26

[[i] 本帖最后由 雷管 于 2008-5-25 17:14 编辑 [/i]]

solaris_yschang
一般情况下可以通过jdbc数据源连接,修改WEB-INF/web.xml 加入:

[table=95%][tr][td][font=FixedSys][color=#000000][color=#0000cc]<[/color]resource-ref[color=#0000cc]>[/color]
   [color=#0000cc]<[/color]description[color=#0000cc]>[/color]MS SQLServer DataSource[color=#0000cc]<[/color][color=#0000cc]/[/color]description[color=#0000cc]>[/color]
   [color=#0000cc]<[/color]res-ref-name[color=#0000cc]>[/color]jdbc[color=#0000cc]/[/color]mssqlserver[color=#0000cc]<[/color][color=#0000cc]/[/color]res-ref-name[color=#0000cc]>[/color]
   [color=#0000cc]<[/color]res-type[color=#0000cc]>[/color]javax[color=#0000cc].[/color]sql[color=#0000cc].[/color]DataSource[color=#0000cc]<[/color][color=#0000cc]/[/color]res-type[color=#0000cc]>[/color]
   [color=#0000cc]<[/color]res-auth[color=#0000cc]>[/color]Container[color=#0000cc]<[/color][color=#0000cc]/[/color]res-auth[color=#0000cc]>[/color]
[color=#0000cc]<[/color][color=#0000cc]/[/color]resource-ref[color=#0000cc]>[/color]
[/color][/font][/td][/tr][/table]

调用代码:

[table=95%][tr][td][font=FixedSys][color=#000000][color=#0000ff]public[/color] [color=#ff0000]Connection[/color] [color=#ff0000]getConnection[/color][color=#0000cc]([/color][color=#0000cc])[/color]
    [color=#0000cc]{[/color]
      
        [color=#ff0000]Connection[/color] conn [color=#0000cc]=[/color] [color=#0000ff]null[/color][color=#0000cc];[/color]
        [color=#ff0000]DataSource[/color] ds [color=#0000cc]=[/color] [color=#0000ff]null[/color][color=#0000cc];[/color]
        [color=#0000ff]try[/color] [color=#0000cc]{[/color]
            [color=#ff0000]InitialContext[/color] [color=#ff0000]ctx[/color][color=#0000cc]=[/color][color=#0000ff]new[/color] [color=#ff0000]InitialContext[/color][color=#0000cc]([/color][color=#0000cc])[/color][color=#0000cc];[/color]
            ds[color=#0000cc]=[/color][color=#0000cc]([/color][color=#ff0000]DataSource[/color][color=#0000cc])[/color][color=#ff0000]ctx[/color][color=#0000cc].[/color][color=#ff0000]lookup[/color][color=#0000cc]([/color][color=#ff00ff]"java:comp/env/jdbc/mssqlserver"[/color][color=#0000cc])[/color][color=#0000cc];[/color]
            conn [color=#0000cc]=[/color] ds[color=#0000cc].[/color][color=#ff0000]getConnection[/color][color=#0000cc]([/color][color=#0000cc])[/color][color=#0000cc];[/color]
            [color=#ff0000]System[/color][color=#0000cc].[/color]out[color=#0000cc].[/color][color=#ff0000]println[/color][color=#0000cc]([/color][color=#ff00ff]"访问数据库"[/color][color=#0000cc])[/color][color=#0000cc];[/color]
        [color=#0000cc]}[/color]

        [color=#0000ff]catch[/color] [color=#0000cc]([/color][color=#ff0000]SQLException[/color] ex[color=#0000cc])[/color] [color=#0000cc]{[/color]
            ex[color=#0000cc].[/color][color=#ff0000]printStackTrace[/color][color=#0000cc]([/color][color=#0000cc])[/color][color=#0000cc];[/color]
         [color=#0000cc]}[/color]
        [color=#0000ff]catch[/color] [color=#0000cc]([/color][color=#ff0000]NamingException[/color] e[color=#0000cc])[/color] [color=#0000cc]{[/color]
            [color=#ff9900]// TODO Auto-generated catch block
[/color]
            e[color=#0000cc].[/color][color=#ff0000]printStackTrace[/color][color=#0000cc]([/color][color=#0000cc])[/color][color=#0000cc];[/color]
        [color=#0000cc]}[/color]
        [color=#0000ff]return[/color] conn[color=#0000cc];[/color]
    [color=#0000cc]}[/color]
[/color][/font][/td][/tr][/table]

sky555
难,兄弟,我刚来,抱歉,帮顶一下。

solaris_yschang
你连接数据库的方式是?
把连接的那段代码放上来看看。

雷管
谢谢兄弟们 上午问题解决了
用tomcat控制台去做很简单的
有些感触 网上的很多帖子都在扯淡 妈妈的浪费了我这么多时间和精力

雷管
谢谢solaris_yschang 问题已经解决