救命啊!谁来帮我找找错啊!
这是一个javabean:
其中init方法是用来初始化数据库和获取request和response对象的
全篇无语法错误
package web;
import com.microsoft.jdbc.sqlserver.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class UserManager{
private javax.servlet.http.HttpServletRequest request=null;
private javax.servlet.http.HttpServletResponse response=null;
private Connection conn=null;
private Statement stmt=null;
private Cookie[] CookieList=null;
Cookie hasLogin;
Cookie username;
Cookie password;
Cookie nickname;
Cookie money;
public String getMoney(){
return money.getValue();
}
public String getNickname(){
return nickname.getValue();
}
public boolean hasLogin(){
hasLogin=find("flshasLogin");
if(hasLogin==null){
addCookie("flshasLogin","hasn't");
return false;
}
if(hasLogin.getValue().equals("hasn't")){
return false;
}
if(hasLogin.getValue().equals("has")){
username=find("username");
password=find("password");
username=find("username");
money=find("money");
return true;
}
return false;
}
public ResultSet getSomeValue(String user,String name)throws Exception{
ResultSet rs;
try{
rs=executeQuery("SELECT "+name+"from user_table WHERE name='"+user+"'");
}catch(Exception e){ throw new Exception(e.toString()); }
return rs;
}
public void setLoginCookie(String user,String pass){
addCookie("flshasLogin","doing");
addCookie("username",user);
addCookie("password",pass);
}
public boolean Login()throws Exception{
try{
ResultSet rs=executeQuery("SELECT * FROM user_table WHERE name='"+username.getValue()+"' AND pass='"+password.getValue()+"'");
if(!rs.next()){
addCookie("flshasLogin","hasn't");
return false;
}else{
addCookie("flshasLogin","has");
addCookie("money",Integer.toString(rs.getInt("money")));
addCookie("nickname",rs.getString("nickname"));
return true;
}
}catch(Exception e){
throw new Exception(e.toString());
}
}
public void init(HttpServletRequest rq,HttpServletResponse rp)throws Exception{
this.request=rq;
this.response=rp;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=website","sa","Eric199277");
stmt=conn.createStatement();
}catch(Exception e){
throw new Exception(e.toString());
}
}
public ResultSet executeQuery(String sql)throws Exception{
ResultSet rs;
try{
rs=stmt.executeQuery(sql);
}catch(Exception e){
throw new Exception(e.toString());
}
return rs;
}
public void executeUpdate(String sql)throws Exception{
try{
stmt.executeUpdate(sql);
}catch(Exception e){
throw new Exception(e.toString());
}
}
public void updateCookie(){
CookieList=request.getCookies();
}
public Cookie find(String name){
updateCookie();
if(CookieList==null) return null;
for(int i=0;i<CookieList.length;i+=1){
if(CookieList[i].getName().equals(name)){
return CookieList[i];
}
}
return null;
}
public void addCookie(String name,String value){
response.addCookie(new Cookie(name,value));
}
}
在jsp中调用find()和hasLogin()和updateCookie()方法中,发生异常:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException
web.UserManager.updateCookie(UserManager.java:103)
web.UserManager.find(UserManager.java:106)
web.UserManager.hasLogin(UserManager.java:25)
org.apache.jsp.website.do_jsp._jspService(org.apache.jsp.website.do_jsp:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.8 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.5.8
问题点数:0、回复次数:1Top
1 楼kingfish(工作很忙,很少来csdn...)回复于 2005-04-02 20:26:11 得分 0
//java.lang.NullPointerException
// web.UserManager.updateCookie(UserManager.java:103)
从错误看request可能是null,你检查一下Top




