SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.userLogin_jsp._jspService(userLogin_jsp.java:93)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
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.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
java.lang.NullPointerException
at org.apache.jsp.userLogin_jsp._jspService(userLogin_jsp.java:93)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
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.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
最基本的。
应该是
service中的哪个对象忘了实例化了吧?
HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: An exception occurred processing JSP page /userLogin0.jsp at line 4744: if (login.isValidUser()) {
45: session.setAttribute("username", username);
46: if (login.isValidPassword()) {
47: if (ran.equals(random)) {
48: session.setAttribute("userPassword", userpassword);
49: response.sendRedirect("index.jsp");
50: } else {
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
root causejava.lang.NullPointerException
org.apache.jsp.userLogin0_jsp._jspService(userLogin0_jsp.java:105)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.
我的第47行怎么错了,找不到原因
<%@page import="comj.*"%>
<%@ page language="java" contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<%--<jsp:useBean id="dbconn" scope="session" class="OpenDB"/>
<jsp:useBean id="login" scope="session" class="login"/>--%>
<html>
<head>
<title>管理系统</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body background="#00FFFF">
<%
String username = request.getParameter("txtloginName");
String userpassword = request.getParameter("txtpassword");
String confirm = request.getParameter("conFirm");
String ran = request.getParameter("yzm");
String random = String.valueOf(request.getSession().getAttribute("random"));
if (username == "") {
%>
<center><font size="5">
<b>登录失败</b><br><br>
<b>请不要将用户名省略,谢谢喽!</b><br><br>
<input type="button" name="goback" value="返回" onClick="javascript:window.history.go(-1);">
</font></center> <% }
if (username != "" && userpassword == "") {
%>
<center><font size="5">
<b>登录失败</b><br><br>
<b>请不要将密码省略,没有密码可是登不上的哦!</b><br><br>
<input type="button" name="goback" value="返回" onClick="javascript:window.history.go(-1)">
</font></center>
<% }
if (username != "" && userpassword != "") {
System.out.println(username);
System.out.println(userpassword);
OpenDB dbconn = new OpenDB();
Login0 login = new Login0();
login.userName = username;
login.userPassword = request.getParameter("txtpassword");
username = request.getParameter("txtloginName");
login.setConnection(dbconn.getConnection());
if (login.isValidUser()) {
session.setAttribute("username", username);
if (login.isValidPassword()) {
if (ran.equals(random)) {
session.setAttribute("userPassword", userpassword);
response.sendRedirect("index.jsp");
} else {
%>
<center><font size="5">
<b>登录失败,请检查您的验证码</b>
</font></center><br><br>
<center>
<input type="button" name="goback" value="返回" onClick="javascript:window.history.go(-1)">
</center>
<% } } else {
%>
<center><font size="5">
<b>登录失败,请检查您的密码</b>
</font></center><br><br>
<center>
<input type="button" name="goback" value="返回" onClick="javascript:window.history.go(-1)">
</center>
<% }
} else {
%>
<center><font size="5">
<b>登录失败,没有此用户名</b>
</font></center><br><br>
<center>
<input type="button" name="goback" value="返回" onClick="javascript:window.history.go(-1)">
</center>
<% }
}
%>
</body>
</html>
Random.jsp
<%@ page contentType="image/jpeg"%>
<%@ page import="java.awt.*,java.awt.image.*"%>
<%@ page import="java.util.*,javax.imageio.*"%>
<%@ page import="java.io.OutputStream"%><%!Color getRandColor(int fc, int bc) {
Random r = new Random();
if (fc > 255) {
fc = 255;
}
if (bc > 255) {
bc = 255;
}
int red = fc + r.nextInt(bc - fc);
int green = fc + r.nextInt(bc - fc);
int blue = fc + r.nextInt(bc - fc);
return new Color(red, green, blue);
}%><%
try {
response.setHeader("Parama", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0); Random r = new Random(); int width = 60, height = 20;
BufferedImage pic = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
OutputStream os = response.getOutputStream();
Graphics gc = pic.getGraphics(); gc.setColor(getRandColor(200, 250));
gc.fillRect(0, 0, width, height); gc.setFont(new Font("Times New Roman", Font.PLAIN, 18)); gc.setColor(getRandColor(160, 200));
for (int i = 0; i < 200; i++) {
int x1 = r.nextInt(width);
int y1 = r.nextInt(height);
int x2 = r.nextInt(15);
int y2 = r.nextInt(15);
gc.drawLine(x1, y1, x1 + x2, y1 + y2);
} gc.setColor(getRandColor(120, 240));
for (int i = 0; i < 100; i++) {
int x = r.nextInt(width);
int y = r.nextInt(height);
gc.drawOval(x, y, 0, 0);
} String RS = "";
String rn = "";
for (int i = 0; i < 4; i++) {
rn = String.valueOf(r.nextInt(10));
RS += rn; gc.setColor(new Color(20 + r.nextInt(110), 20 + r.nextInt(110),
20 + r.nextInt(110)));
gc.drawString(rn, 13 * i + 6, 16);
} session.setAttribute("random", RS);
gc.dispose();
ImageIO.write(pic, "jpeg", os); os.flush();
os.close();
os = null;
response.flushBuffer();
out.clear();
out = pageContext.pushBody();
} catch (IllegalStateException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
%>