问题描述
代码:publicclassAppLoginServletextendsHttpServlet{privateintresultString=0;publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");HttpSessionsession=request.getSession();PrintWriterout=response.getWriter();Stringidentity=request.getParameter("identity");StringloginName=request.getParameter("loginName");Stringpassword=request.getParameter("password");if(identity.equals("M")){Managermanager;try{manager=ManagerService.findManagerByLoginName(loginName);if(manager!=null&&MD5Util.md5(password).equals(manager.getPassword())){session.setAttribute("CurrentUser",manager);resultString=1;//管理员}else{resultString=-2;//用户名不存在或密码错误}}catch(Exceptione){e.printStackTrace();thrownewServletException(e);}}elseif(identity.equals("T")){try{Teacherteacher=TeacherService.findTeacher(loginName);if(teacher==null){//用户名不存在resultString=0;}elseif(teacher.getState().equals("D")){//您的帐号未激活,请注册激活resultString=-3;}elseif(teacher!=null&&teacher.getPassword().equals(MD5Util.md5(password))){session.setAttribute("CurrentUser",teacher);//教师登录成功resultString=2;}else{//用户不存在或者密码错误resultString=-2;}}catch(Exceptione){e.printStackTrace();thrownewServletException(e);}}out.println(resultString);out.flush();out.close();}}异常:严重:Servlet.service()forservlet[AppLoginServlet]incontextwithpath[/tarsis]threwexceptionjava.lang.NullPointerExceptionatcom.tarsis.app.servlet.AppLoginServlet.service(AppLoginServlet.java:36)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:727)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)atorg.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2462)atorg.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2451)atjava.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)atjava.lang.Thread.run(Thread.java:619)
解决方案
解决方案二:
atcom.tarsis.app.servlet.AppLoginServlet.service(AppLoginServlet.java:36)36行是哪一行啊?
解决方案三:
引用1楼zxs6587的回复:
atcom.tarsis.app.servlet.AppLoginServlet.service(AppLoginServlet.java:36)36行是哪一行啊?
你设下断点,调试下。