jsp连接SQL server在tomcat下如何配置数据连接

时间:2022-06-02 19:09:24
  <%@page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312"%> 
<html> 
<body> 
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student"; 
String user="sa"; 
String password="12345"; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from stu"; 
ResultSet rs=stmt.executeQuery(sql); 
while(rs.next()){ %> 
您的第一个字段内容为:<%=rs.getString(1)%><br> 
您的第二个字段内容为:<%=rs.getString(2)%><br> 
<%}%> 
<%out.print("数据库连接成功,恭喜你");%> 
<% 
rs.close(); 
stmt.close(); 
conn.close(); 
%> 
</body> 
</html> 
 然后报HTTP 500错误,描述:the serverencountered an internal error() that prevernted it from fulfilling this request。我把文件放在tomcat\webapps5.5下,把msbase.jar、mssqlserver.jar、msutil.jar三个文件复制到Tomcat下的bin目录下F:\tomcat-5.5.20\bin,我的C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib下没有这三个文件,我从网上下的,还安装了SQL Server 2000的补丁SQL2000-KB884525-SP4-x86- CHS.EXE和SQL Server 2000 driver for JDBC。这就是我全部的配置了
有什么错误请大家指出来呀,谢谢了

9 个解决方案

#1


我的夜连接不起

#2


建议LZ不要在jsp页面上直接数据库,虽然可以做。后台的东西最好拿到后台去做

#3


SQLServer的jar文件应该放在tomcat的lib目录,而不是bin目录中。
另外,如果是工程所需的jar文件,最好不要直接放置在Tomcat的离别目录中,应放在webapps/工程目录/WEB-INF/lib中。

建议你使用Javabean连接数据库,而不是在jsp中直接连接。
如果还不行,那么建议你换一下SQLServer的jdbc驱动,在微软的网站上就有,最好用type4类型的,这样不用安装SQLServer的客户端。

#4


接我的给你用用吧 呵呵~

import java.sql.*;

public class DBConnection {
Connection con;

Statement sta;

public Connection getCon() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
this.con = DriverManager.getConnection("jdbc:odbc:Oadsn", "sa", "sa");
} catch (SQLException e) {
System.out.println("连接数据库失败" + e.toString());
} catch (ClassNotFoundException e) {
System.out.println("加载驱动程序失败" + e.toString());
e.printStackTrace();
}
return con;
}

public void setCon(Connection con) {
this.con = con;
}

public Statement getSta() {
return sta;
}

public void setSta(Statement sta) {
this.sta = sta;
}
}





import java.sql.*;

import java.util.ArrayList;

import db.DB;



public class Model {
private String ids;

private DB db;
private Connection con;
private PreparedStatement ps; 

private ResultSet rs;
public ArrayList QueryFenzu(bean b){
ArrayList list=new ArrayList();

db=new DB();
con=db.getCon();

bean bs =null;


try {
ps=con.prepareStatement("select *from table where name=?");
ps.setString(1, b.getName());
rs=ps.executeQuery();

while(rs.next())
{
bs=new bean();//新建一个javabean
bs.setId(rs.getLong("id"));//把这些变量放入javabean
bs.setName(rs.getString("name"));
list.add(bs);// 将封装了一条记录的javabean放入集合中
}

} catch (SQLException e) {
System.out.println("捕获SQL数据处理异常======="+e.toString());
}catch (Exception e) {
System.out.println("捕获封装javabean异常====="+e.toString());
}



return list;
}
}

#5


查查看你的1433端口打开了没!!

#6


sqlserver2000首先要打一个sp4的补丁 jar的位置要正确  如果你自己的连接不起来  你用4楼的代码肯定连接不起来 因为他要配置数据源 可参照http://download.csdn.net/source/813254

#7


3楼说的, 应该放在tomcat的lib目录下。

#8


数据库驱动程序应该放到E:\Tomcat 6.0\webapps\工程目录\web-inf\lib目录里,你试试,我连MYSQL是这样的,另外给你推荐个视频网站,可以参考下里边免费的 浪曦网

#9


tomcat6数据库连接池  context.xml里面加
<Resource name="jdbc/test"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
              username="csdn"
              password="csdn"
              maxActive="1000"
              removeAbandoned="true"
              removeAbandonedTimeout="60"
              logAbandoned="true"
      maxIdle="50"
      maxWait="-1"/>

#1


我的夜连接不起

#2


建议LZ不要在jsp页面上直接数据库,虽然可以做。后台的东西最好拿到后台去做

#3


SQLServer的jar文件应该放在tomcat的lib目录,而不是bin目录中。
另外,如果是工程所需的jar文件,最好不要直接放置在Tomcat的离别目录中,应放在webapps/工程目录/WEB-INF/lib中。

建议你使用Javabean连接数据库,而不是在jsp中直接连接。
如果还不行,那么建议你换一下SQLServer的jdbc驱动,在微软的网站上就有,最好用type4类型的,这样不用安装SQLServer的客户端。

#4


接我的给你用用吧 呵呵~

import java.sql.*;

public class DBConnection {
Connection con;

Statement sta;

public Connection getCon() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
this.con = DriverManager.getConnection("jdbc:odbc:Oadsn", "sa", "sa");
} catch (SQLException e) {
System.out.println("连接数据库失败" + e.toString());
} catch (ClassNotFoundException e) {
System.out.println("加载驱动程序失败" + e.toString());
e.printStackTrace();
}
return con;
}

public void setCon(Connection con) {
this.con = con;
}

public Statement getSta() {
return sta;
}

public void setSta(Statement sta) {
this.sta = sta;
}
}





import java.sql.*;

import java.util.ArrayList;

import db.DB;



public class Model {
private String ids;

private DB db;
private Connection con;
private PreparedStatement ps; 

private ResultSet rs;
public ArrayList QueryFenzu(bean b){
ArrayList list=new ArrayList();

db=new DB();
con=db.getCon();

bean bs =null;


try {
ps=con.prepareStatement("select *from table where name=?");
ps.setString(1, b.getName());
rs=ps.executeQuery();

while(rs.next())
{
bs=new bean();//新建一个javabean
bs.setId(rs.getLong("id"));//把这些变量放入javabean
bs.setName(rs.getString("name"));
list.add(bs);// 将封装了一条记录的javabean放入集合中
}

} catch (SQLException e) {
System.out.println("捕获SQL数据处理异常======="+e.toString());
}catch (Exception e) {
System.out.println("捕获封装javabean异常====="+e.toString());
}



return list;
}
}

#5


查查看你的1433端口打开了没!!

#6


sqlserver2000首先要打一个sp4的补丁 jar的位置要正确  如果你自己的连接不起来  你用4楼的代码肯定连接不起来 因为他要配置数据源 可参照http://download.csdn.net/source/813254

#7


3楼说的, 应该放在tomcat的lib目录下。

#8


数据库驱动程序应该放到E:\Tomcat 6.0\webapps\工程目录\web-inf\lib目录里,你试试,我连MYSQL是这样的,另外给你推荐个视频网站,可以参考下里边免费的 浪曦网

#9


tomcat6数据库连接池  context.xml里面加
<Resource name="jdbc/test"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
              username="csdn"
              password="csdn"
              maxActive="1000"
              removeAbandoned="true"
              removeAbandonedTimeout="60"
              logAbandoned="true"
      maxIdle="50"
      maxWait="-1"/>