疯了 疯了!!!~~~ 快来救我~~~~~~
exception
org.apache.jasper.JasperException: Exception in JSP: /chklogin.jsp:11
8: String sql = "SELECT * FROM userpassword WHERE USER_ID= ' "+userid+ " ' AND USER_PASSWORD= ' "+password+ " ' ";
9: DBSQLManager dbsm = new DBSQLManager();
10: dbsm.setsqlstr(sql);
11: dbsm.executequery();
12: ResultSet rs = dbsm.getrs();
13: if (!rs.next())
14: {
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
shell.DBSQLManager.executequery(DBSQLManager.java:59)
org.apache.jsp.chklogin_jsp._jspService(chklogin_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
下面是相关的文件.
package shell;
import java.sql.*;
import shell.*;
public class DBSQLManager
{
protected Connection conn=null;
protected Statement stmt=null;
protected ResultSet rs=null;
protected String sqlstr;
public DBSQLManager()
{
try
{
sqlstr= " ";
DBConnectionManager dcm=new DBConnectionManager();
conn=dcm.getconnection();
stmt=conn.createStatement();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public Statement getstmt()
{
return stmt;
}
public Connection getconn()
{
return conn;
}
public ResultSet getrs()
{
return rs;
}
public void setsqlstr(String newsqlstr)
{
this.sqlstr=newsqlstr;
}
public String getsqlstr()
{
return sqlstr;
}
public void executequery() throws Exception
{
rs=stmt.executeQuery(sqlstr);
}
public void execeteupdate() throws Exception
{
stmt.executeUpdate(sqlstr);
}
public void close() throws SQLException
{
if(stmt!= null)
{
stmt.close();
stmt=null;
}
conn.close();
conn=null;
}
}
下面是chklogin.jsp
<%@page contentType= "text/html;charset=gb2312 "%>
<%@ include file= "incoming/common.jsp "%>
<%
String userid = new String(request.getParameter( "userid ").trim().getBytes( "ISO-8859-1 "));
String password = new String(request.getParameter( "password ").trim().getBytes( "ISO-8859-1 "));
String sql = "SELECT * FROM userpassword WHERE USER_ID= ' "+userid+ " ' AND USER_PASSWORD= ' "+password+ " ' ";
DBSQLManager dbsm = new DBSQLManager();
dbsm.setsqlstr(sql);
dbsm.executequery();
ResultSet rs = dbsm.getrs();
if (!rs.next())
{
String errmsg= "error1 ";
response.sendRedirect( "login.jsp?errmsg= "+errmsg);
return;
}
request.getSession(true);
String chk= "true ";
session.setAttribute( "Enter ",chk);
session.setAttribute( "userid ",userid);
response.sendRedirect( "booklist.jsp ");
%>
[解决办法]
DBSQLManager.java:59行
stmt没有创建成功吧
[解决办法]
在chklogin.jsp中加入
<% page import= "*/DBSQLManager "%> 即DBSQLManager婁路徑
[解决办法]
DBConnectionManager 类代码发下看
[解决办法]
可以在控制台打印跟踪的啊!
[解决办法]
eclipse怎么调试还要教啊?大哥。
如果你是发布到tomcat的话,你设个断点。走到那儿,它就停下了。
你要是想通过控制台的话也可以。写个main函数,运行调试一下有main函数的文件。