在下写了两个Servlet,想第一个跳到第二个,但是运行后抛出这样的错误:
type: Exception report
message:
description:The server encountered an internal error () that prevented it from fulfilling this request.
exception:
java.lang.NullPointerException
ex3_8.UserServlet2.doGet(UserServlet2.java:34)
ex3_8.UserServlet2.doPost(UserServlet2.java:88)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
ex3_8.UserServlet1.doGet(UserServlet1.java:27)
ex3_8.UserServlet1.doPost(UserServlet1.java:34)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)源代码:
customer.html
<html>
<head><title>用户详细信息</title></head>
<body>
<form method=post action="/ServletModule/userservlet1">
<h1 align=center>欢迎来到 Shop Stop</h1>
请您输入用户ID以显示您的详细信息:
<br>
<input type=text name=txtuserid>
<br/>
<input type=submit value="提交">
</form>
</body>
</html>UserServlet1:
package ex3_8;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class UserServlet1 extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK"; //Initialize global variables
public void init() throws ServletException {
} //Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String uid=request.getParameter("txtuserid");
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
ServletContext context=getServletContext();
context.setAttribute("UserId",uid);
RequestDispatcher dispatcher=request.getRequestDispatcher("/userservlet2");
if(dispatcher==null){
response.sendError(response.SC_NO_CONTENT);
}
dispatcher.forward(request,response);
out.close();
} //Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
} //Clean up resources
public void destroy() {
}
}UserServlet2:
package ex3_8;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;public class UserServlet2 extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK"; //Initialize global variables
public void init() throws ServletException {
} //Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String UserPassword=null;
String FirstName=null;
String LastName=null;
String Age=null;
String Gender=null;
ServletContext context=getServletContext();
Object obj=context.getAttribute("userid");
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>CusterDetails</title></head>");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:petclinicapps","administrator","GSLwenbaihua");
Statement s=con.createStatement();
ResultSet rs=s.executeQuery("Select * from CustomerRegistration where UserId'"+obj.toString().trim()+"'");
boolean flag=rs.next();
if (flag==true) {
UserPassword=rs.getString(2);
FirstName=rs.getString(3);
LastName=rs.getString(4);
Gender=rs.getString(5);
Age=rs.getString(6);
}else{
out.println("<font color=red size=7>登录失败</font>");
}
}
catch(java.sql.SQLException sqle){
out.println("<font color=red size=7>"+sqle.toString()+"</font>");
}
catch(ClassNotFoundException e){
out.println("类未找到异常"+e);
}
out.println("<body>");
out.println("<H1 align=center>欢迎来到Shop Stop</H1>");
out.println("<table width=80% border=0 align=center>");
out.println("<tr align=center valign=top>");
out.println("<td colspan=2><h1><em><strong>客户详细信息</strong></em></h1></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td width=25%><span><strong>用户 ID:</strong></span></td>");
out.println("<td width=75%><span>"+obj.toString()+"</span></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><span><strong>口令:</strong></span></td>");
out.println("<td><span>"+UserPassword+"</span></td");
out.println("<tr>");
out.println("</tr>");
out.println("<td><span><strong>全名:</strong></span></td>");
out.println("<td><span>"+FirstName+""+LastName+"</span></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><span><strong>性别:</strong></span></td>");
out.println("<td>"+Gender+"</td>");
out.println(" </tr>");
out.println(" <tr>");
out.println(" <td><span><strong>年龄:</strong></span></td>");
out.println(" <td>"+Age);
out.println(" <span>岁</span></td>");
out.println("</tr>");
out.println("</table>");
out.println("</html>");
out.close();
} //Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
} //Clean up resources
public void destroy() {
}
}
type: Exception report
message:
description:The server encountered an internal error () that prevented it from fulfilling this request.
exception:
java.lang.NullPointerException
ex3_8.UserServlet2.doGet(UserServlet2.java:34)
ex3_8.UserServlet2.doPost(UserServlet2.java:88)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
ex3_8.UserServlet1.doGet(UserServlet1.java:27)
ex3_8.UserServlet1.doPost(UserServlet1.java:34)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)源代码:
customer.html
<html>
<head><title>用户详细信息</title></head>
<body>
<form method=post action="/ServletModule/userservlet1">
<h1 align=center>欢迎来到 Shop Stop</h1>
请您输入用户ID以显示您的详细信息:
<br>
<input type=text name=txtuserid>
<br/>
<input type=submit value="提交">
</form>
</body>
</html>UserServlet1:
package ex3_8;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class UserServlet1 extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK"; //Initialize global variables
public void init() throws ServletException {
} //Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String uid=request.getParameter("txtuserid");
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
ServletContext context=getServletContext();
context.setAttribute("UserId",uid);
RequestDispatcher dispatcher=request.getRequestDispatcher("/userservlet2");
if(dispatcher==null){
response.sendError(response.SC_NO_CONTENT);
}
dispatcher.forward(request,response);
out.close();
} //Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
} //Clean up resources
public void destroy() {
}
}UserServlet2:
package ex3_8;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;public class UserServlet2 extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK"; //Initialize global variables
public void init() throws ServletException {
} //Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String UserPassword=null;
String FirstName=null;
String LastName=null;
String Age=null;
String Gender=null;
ServletContext context=getServletContext();
Object obj=context.getAttribute("userid");
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>CusterDetails</title></head>");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:petclinicapps","administrator","GSLwenbaihua");
Statement s=con.createStatement();
ResultSet rs=s.executeQuery("Select * from CustomerRegistration where UserId'"+obj.toString().trim()+"'");
boolean flag=rs.next();
if (flag==true) {
UserPassword=rs.getString(2);
FirstName=rs.getString(3);
LastName=rs.getString(4);
Gender=rs.getString(5);
Age=rs.getString(6);
}else{
out.println("<font color=red size=7>登录失败</font>");
}
}
catch(java.sql.SQLException sqle){
out.println("<font color=red size=7>"+sqle.toString()+"</font>");
}
catch(ClassNotFoundException e){
out.println("类未找到异常"+e);
}
out.println("<body>");
out.println("<H1 align=center>欢迎来到Shop Stop</H1>");
out.println("<table width=80% border=0 align=center>");
out.println("<tr align=center valign=top>");
out.println("<td colspan=2><h1><em><strong>客户详细信息</strong></em></h1></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td width=25%><span><strong>用户 ID:</strong></span></td>");
out.println("<td width=75%><span>"+obj.toString()+"</span></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><span><strong>口令:</strong></span></td>");
out.println("<td><span>"+UserPassword+"</span></td");
out.println("<tr>");
out.println("</tr>");
out.println("<td><span><strong>全名:</strong></span></td>");
out.println("<td><span>"+FirstName+""+LastName+"</span></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><span><strong>性别:</strong></span></td>");
out.println("<td>"+Gender+"</td>");
out.println(" </tr>");
out.println(" <tr>");
out.println(" <td><span><strong>年龄:</strong></span></td>");
out.println(" <td>"+Age);
out.println(" <span>岁</span></td>");
out.println("</tr>");
out.println("</table>");
out.println("</html>");
out.close();
} //Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
} //Clean up resources
public void destroy() {
}
}
解决方案 »
- struts2找不到action
- jsp页面得不到想要的东西
- 怎样在java代码中写空格输出到jsp页面
- 链接数据库
- 懂xml的進來,如何用java DOM 在一個xml文件裡加像 <!DOCTYPE ROWSET 和<!ELEMENT ROWSET (ROW)*> 或者是 <!ATTLIST 附注 num C
- 有在北京搞开发的程序员请你们这里报个到,大家互相交流,互相探讨!
- 急急急!!!请教tomcat高手帮忙。
- 请问如何用jsp打开一个Excel文件?
- MAC下地MyEcplipse配置Tomcat问题。
- 求助:多个div一行显示,不换行
- 数据库问题!
- socket和web程序如何共用一个数据库
Object obj = context.getAttribute("UserId");