高分悬赏java web编程中动态项目的eclipse+tomcat+sql2000的配置问题,成功以后还要加分。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高分悬赏java web编程中动态项目的eclipse+tomcat+sql2000的配置问题,成功以后还要加分。相关的知识,希望对你有一定的参考价值。
这个问题整理一星期了,系统都重装了三次,还是搞不定,求高手。先讲下我的配置过程:
软件有jdk1.5、tomcat(绿色版)6.x,eclipse3.7for javaweb,sql数据库及补丁和sql驱动包(msbase.jar、mssqlserver.jar、msutil.jar)。 安装过jdk、sql、sql补丁、解压sql驱动并放到C:\Program Files\Java\jre1.5.0_11\lib\ext路径下。
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
path=%JAVA_HOME%\bin;
添加classpath:
C:\ProgramFiles\Java\jre1.5.0_11\lib\ext\msbase.jar;
C:\Program Files\Java\jre1.5.0_11\lib\ext\mssqlserver.jar;
C:\Program Files\Java\jre1.5.0_11\lib\ext\msutil.jar;
Tomcat需要配置的有:
1. CATALINA_HOME: D:\tomcat
2. CATALINA_BASE: D:\tomcat
3. TOMCAT_HOME: D:\Tomcat
4. 添加classpath: %CATALINA_HOME%\lib\servlet-api.jar;
解压tomcat for eclipse插件到eclipse的plugins文件夹,然后打开eclipse在窗口-首选项的tomcat下配置6.x在到服务器下配置6.0的环境完成以后,写一个简单的jsp文件可以正常访问,写一个java类可以正常访问,写一个jsp访问sql2000的动态项目,将sql的驱动包放到项目下的lib文件夹中,在META-INF中新建context.xml,代码如下
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/test" docBase="test" debug="5" reloadable="true" corssContext="true">
<Resource name="jdbc/ConnectionPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DtatbaseName=db_net"
username="sa"
password="123"
maxActive="50"
maxIdle="20"
maxWait="10000"
factort ="org.apache.commous.dbcp.BasicDataSourceFactory"
/>
</Context>
然后再到项目的WEB-INF下修改web.xml添加代码
<resource-ref>
<description>sql</description>
<res-ref-name>jdbc/ConnectionPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
sql2000数据库中新建数据库,db_net,新建表test1字段t记录1,2,3.数据库账号sa密码123
新建jsp文件核心代码(篇幅原因)
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs =null;
try
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/ConnectionPool");
conn = ds.getConnection();
catch(Exception e)
e.printStackTrace();
if(conn!=null)
try
stmt=conn.createStatement();
out.println(stmt);
String tsql ="insert into test1 (t) values ('5')";
out.println(tsql);
stmt.executeUpdate(tsql);
catch(Exception e)
e.printStackTrace();
然后报错为,[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'test1' 无效。上面的out打印结果为com.microsoft.jdbc.base.BaseStatement@ec6b00 insert into test1 (t) values ('5') 。
url="jdbc:microsoft:sqlserver://localhost:1433;DtatbaseName=db_net"
貌似最后的勒个DtatbaseName写错了, 应该是DatabaseName=“db_net”. 其他貌似没有问题的。追问
貌似你说的最有道理,但是怎么改啊。我把后面的那个db_net删除,运行,报错和上面还是一样的
追答不是删除,是把改成url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_net”这个样子。
追问我的url是这样的啊,你那地方变了啊????
追答DtatbaseName 你拼错了,囧。
参考技术A 链接数据库不是这样的??Connection con;
Statement sta;
ResultSet rs;
资料引用:http://www.knowsky.com/300576.html
try
Class.forName(driver);
System.out.println("driver is ok");
con = DriverManager.getConnection(url,user,pwd);
System.out.println("conection is ok");
sta = con.createStatement();
sta. executeUpdate("insert into test1 (t) values ('5')");
)
catch(Exception e)
e.printStackTrace();
还有 jdbc的驱动直接在eclipse里选构架路径 就可以了啊追问
那是java应用程序编程,我现在写的是jsp
追答大哥 jsp就是javaweb就是jsp+servlet
绝对能用啊
有,确实是执行sql的时候报异常。
参考技术C 找不到test1,数据库里有test1吗?或者,test1属性是只有一个字符吗?看下insert属性是否与test1匹配。追问数据库叫db_net里面有表叫test1字段是t记录是1,2,3
我不写jsp工程,写java类就算用记事本都可以访问的
数据库叫db_net里面有表叫test1字段是t记录是1,2,3
我不写jsp工程,写java类就算用记事本都可以访问的
看报错信息是test1不存在。你检查下数据库db_net和数据库用户sa都对不。然后看看test1这个表所属的数据库用户和数据库是哪个?看看记事本访问时都正常insert了么?再比较下两种方式的不同之处。
追问如果是sa或密码错误,不会报这个错误的,记事本和jsp没法比啊,那里面多了个tomcat
追答没有报连接异常,应该是打开数据库连接了。要不你换一个执行语句看看,比如查询下test1或者查询下别的已有的表看看。
另外同zyuzxc123 所说,你的url中DtatbaseName拼写错了。
以上是关于高分悬赏java web编程中动态项目的eclipse+tomcat+sql2000的配置问题,成功以后还要加分。的主要内容,如果未能解决你的问题,请参考以下文章