雷管
急急急!!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]