java.lang.NullPointerException 在 servlet 运行 时发生
java.lang.NullPointerException occured while running the servlet
大家好,我正在编写一个简单的注册表格来注册该 servlet。
我已将所有条目包含在 web.xml 中。但我不知道为什么我得到 "java.lang.NullPointerException"。每件事对我来说都很好,但我无法找出漏洞。请帮我解决这个问题。
index.jsp
<form action="InsertRecord" method="post">
<fieldset>
<legend>
<font face="Courier New" size="+1"
color="red">
Student Registration
</font>
</legend>
<table>
<tr>
<td>Student Name :</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Enrollment Number :</td>
<td><input type="text" name="enrolmentNo"></td>
</tr>
<tr>
<td>Program Name :</td>
<td><input type="text" name="program"></td>
</tr>
<tr>
<td>Gender : </td>
<td><select Name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</td>
</tr>
<tr>
<td>Address :</td>
<td><textarea rows="3" cols="20"></textarea>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Registration"></td>
</table>
</fieldset>
</form>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>student</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>InsertRecord</servlet-name>
<servlet-class>com.varun.InsertRecord</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InsertRecord</servlet-name>
<url-pattern>/InsertRecord</url-pattern>
</servlet-mapping>
</web-app>
InsertRecord.java这是servlet
package com.varun;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InsertRecord extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String name=request.getParameter("name");
String en=request.getParameter("enrolmentNo");
String program=request.getParameter("program");
String gender=request.getParameter("gender");
String address=request.getParameter("address");
int id=0;
int enrol=0;
if(name.equals("")||en.equals("")||program.equals("")
||gender.equals("")||address.equals(""))
{
out.println("Please insert the valid data");
RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");
rd.include(request, response);
}
else
{
out.println("good job");
RequestDispatcher rd=request.getRequestDispatcher("/sucess.jsp");
rd.include(request, response);
}
}
}
字符串 address
为空。
String address=request.getParameter("address");
因为您的文本区域没有名称:
<td><textarea rows="3" cols="20"></textarea>
改为
<td><textarea rows="3" cols="20" name ="address"></textarea>
异常应该消失了。
您没有任何名称为 address
的参数,并且您在请求 request.getParameter("address");
中获取给您一个空值。
在 textarea 中添加 name
属性,它将起作用
<textarea rows="3" cols="20" name="address"></textarea>
更正您的 .jsp 代码:
<textarea rows="3" cols="20" name ="address"></textarea>
以下代码行可能是异常的原因:
String address=request.getParameter("address");
因为您尚未定义任何具有属性名称 地址 的 html 字段。
<td><textarea rows="3" cols="20"></textarea>
在上面的文本区域中包含 name="address" 属性。
这可能会解决问题![=12=]
大家好,我正在编写一个简单的注册表格来注册该 servlet。 我已将所有条目包含在 web.xml 中。但我不知道为什么我得到 "java.lang.NullPointerException"。每件事对我来说都很好,但我无法找出漏洞。请帮我解决这个问题。
index.jsp
<form action="InsertRecord" method="post">
<fieldset>
<legend>
<font face="Courier New" size="+1"
color="red">
Student Registration
</font>
</legend>
<table>
<tr>
<td>Student Name :</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Enrollment Number :</td>
<td><input type="text" name="enrolmentNo"></td>
</tr>
<tr>
<td>Program Name :</td>
<td><input type="text" name="program"></td>
</tr>
<tr>
<td>Gender : </td>
<td><select Name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</td>
</tr>
<tr>
<td>Address :</td>
<td><textarea rows="3" cols="20"></textarea>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Registration"></td>
</table>
</fieldset>
</form>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>student</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>InsertRecord</servlet-name>
<servlet-class>com.varun.InsertRecord</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InsertRecord</servlet-name>
<url-pattern>/InsertRecord</url-pattern>
</servlet-mapping>
</web-app>
InsertRecord.java这是servlet
package com.varun;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InsertRecord extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String name=request.getParameter("name");
String en=request.getParameter("enrolmentNo");
String program=request.getParameter("program");
String gender=request.getParameter("gender");
String address=request.getParameter("address");
int id=0;
int enrol=0;
if(name.equals("")||en.equals("")||program.equals("")
||gender.equals("")||address.equals(""))
{
out.println("Please insert the valid data");
RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");
rd.include(request, response);
}
else
{
out.println("good job");
RequestDispatcher rd=request.getRequestDispatcher("/sucess.jsp");
rd.include(request, response);
}
}
}
字符串 address
为空。
String address=request.getParameter("address");
因为您的文本区域没有名称:
<td><textarea rows="3" cols="20"></textarea>
改为
<td><textarea rows="3" cols="20" name ="address"></textarea>
异常应该消失了。
您没有任何名称为 address
的参数,并且您在请求 request.getParameter("address");
中获取给您一个空值。
在 textarea 中添加 name
属性,它将起作用
<textarea rows="3" cols="20" name="address"></textarea>
更正您的 .jsp 代码:
<textarea rows="3" cols="20" name ="address"></textarea>
以下代码行可能是异常的原因:
String address=request.getParameter("address");
因为您尚未定义任何具有属性名称 地址 的 html 字段。
<td><textarea rows="3" cols="20"></textarea>
在上面的文本区域中包含 name="address" 属性。 这可能会解决问题![=12=]