/////////////////////////////////////////////////
小弟初学jsp,第一个程序遇到了问题,请大虾给与指点
/////////////////////////////////////////////////
bean: classes\dbfile\connDB.class
connDB.java 原代码如下:
//////////////////////////////////////////
package dbfile;import java.sql.*;public class connDB{ private static Connection conn;
private static Statement stmt;
private static ResultSet rs;
//定义数据库驱动
private static final String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//定义连接数据库的信息
private static final String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mydata;user=myuser;password=mypwd";
public static synchronized Connection getConn() throws Exception{
try{
Class.forName(drivername);
conn=DriverManager.getConnection(url);
return conn;
}catch(SQLException e){
System.err.println(e.getMessage());
throw e;
}
}
//将Statement设置成可滚动的
public Statement getStmtread(){
try{
conn=getConn();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
return stmt;
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
//执行查询操作,返回可滚动的数据库的结果集
public ResultSet getRs(String sql){
try{
stmt=getStmtread();
rs=stmt.executeQuery(sql);
return rs;
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
//关闭资源
public void close(){
try{
if(rs!=null){
rs.close();
rs=null;
}
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
try{
if(stmt!=null){
stmt.close();
stmt=null;
}
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
try{
if(conn!=null){
conn.close();
conn=null;
}
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
}
}
//////////////////////////////////////
测试文件testDB.jsp:
//////////////////////////////////////
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><jsp:useBean class="dbfile.connDB" id="conn" scope="page"/><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试数据库连接</title>
</head><body>
<%
ResultSet rst;
String str_SQL="select * from admin";
try{
rst=conn.getRs(str_SQL);
while(rst.next()){
out.println("<div style='color:#ff3300;font-size:12px'>"+rst.getString("a_Name")+"</div>");
out.println("<div style='color:#ff3300;font-size:12px'>"+rst.getString("a_Password")+"</div>");
}
}catch(Exception e){
conn.close();
System.err.println(e.getMessage());
e.printStackTrace();
}finally{
conn.close();
}
%>
</body>
</html>
/////////////////////////////////////////
测试sqlserver2000 tomcat5.0
/////////////////////////////////////////
存在问题:无错误输出,也无任何数据输出!!
请给与指点,谢谢!
/////////////////////////////////////////
小弟初学jsp,第一个程序遇到了问题,请大虾给与指点
/////////////////////////////////////////////////
bean: classes\dbfile\connDB.class
connDB.java 原代码如下:
//////////////////////////////////////////
package dbfile;import java.sql.*;public class connDB{ private static Connection conn;
private static Statement stmt;
private static ResultSet rs;
//定义数据库驱动
private static final String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//定义连接数据库的信息
private static final String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mydata;user=myuser;password=mypwd";
public static synchronized Connection getConn() throws Exception{
try{
Class.forName(drivername);
conn=DriverManager.getConnection(url);
return conn;
}catch(SQLException e){
System.err.println(e.getMessage());
throw e;
}
}
//将Statement设置成可滚动的
public Statement getStmtread(){
try{
conn=getConn();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
return stmt;
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
//执行查询操作,返回可滚动的数据库的结果集
public ResultSet getRs(String sql){
try{
stmt=getStmtread();
rs=stmt.executeQuery(sql);
return rs;
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
//关闭资源
public void close(){
try{
if(rs!=null){
rs.close();
rs=null;
}
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
try{
if(stmt!=null){
stmt.close();
stmt=null;
}
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
try{
if(conn!=null){
conn.close();
conn=null;
}
}catch(Exception e){
System.err.println(e.getMessage());
e.printStackTrace();
}
}
}
//////////////////////////////////////
测试文件testDB.jsp:
//////////////////////////////////////
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><jsp:useBean class="dbfile.connDB" id="conn" scope="page"/><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试数据库连接</title>
</head><body>
<%
ResultSet rst;
String str_SQL="select * from admin";
try{
rst=conn.getRs(str_SQL);
while(rst.next()){
out.println("<div style='color:#ff3300;font-size:12px'>"+rst.getString("a_Name")+"</div>");
out.println("<div style='color:#ff3300;font-size:12px'>"+rst.getString("a_Password")+"</div>");
}
}catch(Exception e){
conn.close();
System.err.println(e.getMessage());
e.printStackTrace();
}finally{
conn.close();
}
%>
</body>
</html>
/////////////////////////////////////////
测试sqlserver2000 tomcat5.0
/////////////////////////////////////////
存在问题:无错误输出,也无任何数据输出!!
请给与指点,谢谢!
/////////////////////////////////////////
建议你可以自己试一下,在你的Bean里面的连接的地方打印一些信息
例如在conn=getConn();处打印System.out.println("success");
还可在jsp文件中也给我打印一些信息,这样,不就可以知道什么原因了
create table test(test1 varchar(20),test2 varchar(20))
然后向这个表写入一条测试纪录。用于测试的jsp文件如下:(test.jsp)
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
原因:SQLServer 2000 没打sp3包!