在服务器端Servlet处获取验证码时,抛出如下异常:
2011-11-30 21:23:24 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet adminLoginServlet threw exception
java.lang.NullPointerException
at com.weiyi.book.servlet.admin.adminLoginServlet.doPost(adminLoginServlet.java:87)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
以及:
查了百度,有说事数据库版本、apache版本过低的什么(本人觉得不可能),最后听了一位学长的话去按着流程走了遍才发现原来在Servlet端获取表单验证码时,方法用错了,如下所示:
/*获取管理员表单输入的账号和密码*/
String adminName = (String)request.getParameter("username");
String adminPwd = (String)request.getParameter("passwd");
String valid = (String)request.getAttribute("authcode");//getAttribute应该为getParameter();
我只能说表示很尴尬。。。。。