一个简单的用户管理系统,输入用户名和密码后,出现了如下问题:
u=wanglip=123java.lang.NullPointerException
at com.model.UserBeanCL.usercheck(UserBeanCL.java:121)
at com.control.loginCLservLet.doGet(loginCLservLet.java:36)
at com.control.loginCLservLet.doPost(loginCLservLet.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)其中 loginCLservelet.java 类如下:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
     //接受用户名和密码
String u=request.getParameter("username");
u=new String(u.getBytes("ISO-8859-1"),"gb2312");
String p=request.getParameter("passwd");
//System.out.print("这一个模型的例子");

System.out.print("u="+u+"p="+p);
//定义一个类,调用UserBeanCLl类方法
UserBeanCL ubc =new UserBeanCL();
//验证信息
if(ubc.usercheck(u,p)){
   System.out.println("这一个模型的例子");
request.getRequestDispatcher("WL.jsp").forward(request,response);

}else{
request.getRequestDispatcher("login.jsp").forward(request, response);

}
请哪位高人指点一下

解决方案 »

  1.   

    System.out.print("u="+u+"p="+p);已经执行里了,后报出ava.lang.NullPointerException
    而一般报java.lang.NullPointerException的原因有以下几种: 
    1字符串变量未初始化; 
    2接口类型的对象没有用具体的类初始化,比如: 
    List lt;会报错 
    List lt = new ArrayList();则不会报错了 
    3当一个对象的值为空时,你没有判断为空的情况。 
    UserBeanCL ubc =new UserBeanCL();应该判断下ubc是否创建成功
      

  2.   

    LZ你debug下看看那个值是空就行了·
      

  3.   

    usercheck(UserBeanCL.java:121)
     这个方法里面的内容 没问题吗??????
      

  4.   

    debug模式启动服务,在代码中设一断点,再运行一步步往下走就行了