2015-04-13 4 views
0

Привет всем Я пишу простую регистрационную форму для регистрации и для этого сервлета. Я включил все записи в web.xml. но я не знаю, почему я получаю «java.lang.NullPointerException». все выглядит хорошо для меня, но я не могу понять лазейку. пожалуйста, помогите мне с этим.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 &nbsp;&nbsp; :</td> 
      <td><input type="text" name="name"></td> 
     </tr> 

     <tr> 
      <td>Enrollment Number &nbsp;&nbsp; :</td> 
      <td><input type="text" name="enrolmentNo"></td> 
     </tr> 

     <tr> 
      <td>Program Name &nbsp;&nbsp; :</td> 
      <td><input type="text" name="program"></td> 
     </tr> 

     <tr> 
      <td>Gender &nbsp;&nbsp; : </td> 
      <td><select Name="gender"> 
       <option value="male">Male</option> 
       <option value="female">Female</option>  
       </select> 
      </td> 
     </tr> 

     <tr> 
      <td>Address &nbsp;&nbsp; :</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 Это сервлет

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); 
      } 


     } 

    } 
+2

Включите stacktrace ошибки. –

+2

При устранении неполадок Исключения, пожалуйста, укажите полную длину стека в своем вопросе – Dragondraikk

ответ

3

Строка address имеет значение null.

String address=request.getParameter("address"); 

, потому что ваш текстовое поле не имеет имени:

<td><textarea rows="3" cols="20"></textarea> 

изменить его на

<td><textarea rows="3" cols="20" name ="address"></textarea> 

и исключение должно делись.

2

У вас нет параметров с именем address, и вы получаете запрос по запросу request.getParameter("address");, давая вам нулевое значение.

Добавить name атрибут в текстовое поле, и он будет работать

<textarea rows="3" cols="20" name="address"></textarea> 
+0

Это неверно. NullPointerExcpetion будет на 'address.equals (" "))'. Не в 'request.getParameter (" address ")' – Jens

+0

@Jens извините, но я не уверен, что nullpointer будет на 'getParameter' – silentprogrammer

+1

eagle eye :) Спасибо .. – Varun

0

Исправьте код .jsp:

<textarea rows="3" cols="20" name ="address"></textarea> 
1

В приведенной ниже строке кода может быть причиной исключения:

String address=request.getParameter("address"); 

, так как вы не указали какое-либо поле html с именем атрибута адрес.

 <td><textarea rows="3" cols="20"></textarea> 

включают Name = "адрес" атрибут в выше текстовое поле. Это может решить проблему!

Смежные вопросы