通过servlet执行数据库操作代码如下:package com.ssit.DB;import java.sql.Connection;import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.naming.Context;//这是命名服务执行查询的入口
import javax.naming.InitialContext;
import javax.sql.DataSource;/**
*
* 外层包:com.ssit
* @author
*/
public class DB_Handle { private Connection con = null; private ResultSet rs = null; private Statement stmt = null; public DB_Handle() { } public Connection connectionDatabase() { try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
} public void freeConnection() {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (con != null)
con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
} public ResultSet execQuerySQL(String SQLString) {
try {
if (con != null) {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(SQLString);
} else {
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
return rs;
} public boolean execUpdateSQL(String SQLString) {
try {
stmt = con.createStatement();
stmt.executeUpdate(SQLString);
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
return true;
}}
jsp页面调用这个java类代码如下:<?xml version="1.0" encoding="GBK" ?>
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="com.ssit.DB.*,java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Insert title here</title>
</head>
<body>
<%
DB_Handle dbHandle1 = new DB_Handle();
Connection con = dbHandle1.connectionDatabase();
out.print(con);
ResultSet rs1 = null;
String sql = "select * from U_UserInfo";
rs1 = dbHandle1.execQuerySQL(sql);
%>
<table width="70%" height="68" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#0066FF">
<tr>
<td width="7%" align="center" bgcolor="#CCCCCC">用户id</td>
<td width="36%" align="center" bgcolor="#CCCCCC">登陆名</td>
<td width="31%" align="center" bgcolor="#CCCCCC">用户名</td>
<td width="26%" align="center" bgcolor="#CCCCCC">密码</td>
</tr>
<%
while(rs1.next()){
%>
<tr>
<td><%=rs1.getString("U_UserId")%></td>
<td><%=rs1.getString("U_LoginName")%></td>
<td><%=rs1.getString("U_UserName")%></td>
<td><%= rs1.getString("U_PassWord")%></td>
</tr>
<%
}
if(rs1!=null){rs1.close();}
dbHandle1.freeConnection();
%>
</table>
</body>
</html>谢谢大虾们帮忙指点!!!!!
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.naming.Context;//这是命名服务执行查询的入口
import javax.naming.InitialContext;
import javax.sql.DataSource;/**
*
* 外层包:com.ssit
* @author
*/
public class DB_Handle { private Connection con = null; private ResultSet rs = null; private Statement stmt = null; public DB_Handle() { } public Connection connectionDatabase() { try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
} public void freeConnection() {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (con != null)
con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
} public ResultSet execQuerySQL(String SQLString) {
try {
if (con != null) {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(SQLString);
} else {
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
return rs;
} public boolean execUpdateSQL(String SQLString) {
try {
stmt = con.createStatement();
stmt.executeUpdate(SQLString);
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
return true;
}}
jsp页面调用这个java类代码如下:<?xml version="1.0" encoding="GBK" ?>
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ page import="com.ssit.DB.*,java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Insert title here</title>
</head>
<body>
<%
DB_Handle dbHandle1 = new DB_Handle();
Connection con = dbHandle1.connectionDatabase();
out.print(con);
ResultSet rs1 = null;
String sql = "select * from U_UserInfo";
rs1 = dbHandle1.execQuerySQL(sql);
%>
<table width="70%" height="68" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#0066FF">
<tr>
<td width="7%" align="center" bgcolor="#CCCCCC">用户id</td>
<td width="36%" align="center" bgcolor="#CCCCCC">登陆名</td>
<td width="31%" align="center" bgcolor="#CCCCCC">用户名</td>
<td width="26%" align="center" bgcolor="#CCCCCC">密码</td>
</tr>
<%
while(rs1.next()){
%>
<tr>
<td><%=rs1.getString("U_UserId")%></td>
<td><%=rs1.getString("U_LoginName")%></td>
<td><%=rs1.getString("U_UserName")%></td>
<td><%= rs1.getString("U_PassWord")%></td>
</tr>
<%
}
if(rs1!=null){rs1.close();}
dbHandle1.freeConnection();
%>
</table>
</body>
</html>谢谢大虾们帮忙指点!!!!!
解决方案 »
- javabean salserver 问题
- Eclipse+Maven+Spring+Tomcat 莫名其妙的 ClassNotFound Exception
- 求一正则表达表
- java做一个按钮或连接点击后下载本地的某个文件
- 如何在本地加密算法
- 求一个Struts+spring +hibernate的一个作品
- 求一个struts+hibernate的用户登录和注册的源码
- IE提示:"该页上的脚本造成Internet Explorer运行速度减慢...是否取消该脚本"
- 环境已经建好了,用什么工具写jsp程序呀?
- jscript和JSP的数据怎样互相使用啊?在线等待
- extjs的问题!
- 如何去除JSEESIONID
nullpointerexception还是比较好找的
java.lang.NullPointerException
at org.apache.jsp.SystemManage.property.p_005findex_jsp._jspService(p_005findex_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)就提示这个东西
Connection con= DriverManager.getConnection(url,user,password);
改成
con= DriverManager.getConnection(url,user,password);
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyFirst_system";
String user="sa";
String password="sa";
Connection con= DriverManager.getConnection(url,user,password);
return con;
} catch (Exception e) {
try {
if (con != null)
con.close();
System.out.println("连接失败:" + e.getMessage());
return null;
} catch (Exception e1) {
System.out.println("释放资源失败:" + e1.getMessage());
return null;
}
}
} Connection con= DriverManager.getConnection(url,user,password);
改成
con= DriverManager.getConnection(url,user,password);
private Connection con = null; 与Connection con= DriverManager.getConnection(url,user,password);
你上面已经定义了private Connection con = null;
你想要返回的是Connection con= DriverManager.getConnection(url,user,password); 这个con,
而下面return con; 中的con是你上面定义的private Connection con = null;所有就报null
导致了后面调用execQuerySQL之后返回了一个null的rs
再对rs进行操作,当然抛例外