请高手们帮我看看这个问题,搞了好几次都出现错误(已经加载了sqlserver的3个驱动文件),源程序和出现的错误提示如下:package shop;
import java.sql.*;public class DBConnectBean {
public static Connection getSqlserverConn()
{
Connection conn=null;
String url="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sqldriver="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=jspdev";
try {
Class.forName(url);
conn=DriverManager.getConnection(sqldriver,"sa","");
conn.setCatalog("jspdev");
}
catch (Exception ex) {
ex.printStackTrace(); }
return conn; }
}
---------------------------------------------------
<%@ page contentType="text/html; charset=GBK" import="java.sql.*"%>
<html>
<head>
<title>
logincheck.jsp
</title>
</head>
<body bgcolor="#ffffff">
<jsp:useBean id="dbconn" class="shop.DBConnectBean" scope="page"/>
<%
//获得请求参数
String name=request.getParameter("username");
String password=request.getParameter("userpassword");
//连接数据库
dbconn.getSqlserverConn();
String usersql="select * from users where name='"+name+"'and password='"+password+"'";
Connection con=null;
Statement stmt=con.createStatement();
ResultSet result=stmt.executeQuery(usersql);
if(result.next())
{
%>
欢迎你,<%=name%>
<%}%>
</body>
</html>
------------------------------------------------
java.lang.NullPointerExceptionjava.lang.NullPointerException at org.apache.jsp.logincheck$jsp._jspService(logincheck$jsp.java:96) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:536)
import java.sql.*;public class DBConnectBean {
public static Connection getSqlserverConn()
{
Connection conn=null;
String url="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sqldriver="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=jspdev";
try {
Class.forName(url);
conn=DriverManager.getConnection(sqldriver,"sa","");
conn.setCatalog("jspdev");
}
catch (Exception ex) {
ex.printStackTrace(); }
return conn; }
}
---------------------------------------------------
<%@ page contentType="text/html; charset=GBK" import="java.sql.*"%>
<html>
<head>
<title>
logincheck.jsp
</title>
</head>
<body bgcolor="#ffffff">
<jsp:useBean id="dbconn" class="shop.DBConnectBean" scope="page"/>
<%
//获得请求参数
String name=request.getParameter("username");
String password=request.getParameter("userpassword");
//连接数据库
dbconn.getSqlserverConn();
String usersql="select * from users where name='"+name+"'and password='"+password+"'";
Connection con=null;
Statement stmt=con.createStatement();
ResultSet result=stmt.executeQuery(usersql);
if(result.next())
{
%>
欢迎你,<%=name%>
<%}%>
</body>
</html>
------------------------------------------------
java.lang.NullPointerExceptionjava.lang.NullPointerException at org.apache.jsp.logincheck$jsp._jspService(logincheck$jsp.java:96) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:536)
Statement stmt=con.createStatement();
con是null,你使用他就会报空指针异常.
应该把Connection con=null;去掉
在dbconn.getSqlserverConn();的前面加上:
Connection con = dbconn.getSqlserverConn();