页面没反应java.lang.NullPointerException

<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'userinfo.jsp' starting page</title>

    

 <meta http-equiv="pragma" content="no-cache">

 <meta http-equiv="cache-control" content="no-cache">

 <meta http-equiv="expires" content="0">    

 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

 <meta http-equiv="description" content="This is my page">

 <!--

 <link rel="stylesheet" type="text/css" href="styles.css">

 -->

    <style type="text/css">

  .title{

   width: 30%; 

   background-color: #CCC;

   font-weight: bold;

  }

  .content{

      width:70%;

      background-color: #CBCFE5;

  }

  

   </style>  

  </head>

  

  <body>

    <h1>用户信息</h1>

    <hr>

    <center>

     <jsp:useBean  id="regUser" class="entity.Users" scope="session"/>   

     <table width="600" cellpadding="0" cellspacing="0" border="1">

        <tr>

          <td class="title">用户名:</td>

          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="username"/></td>

        </tr>

        <tr>

          <td class="title">密码:</td>

          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="mypassword"/></td>

        </tr>

        <tr>

          <td class="title">性别:</td>

          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="gender"/></td>

        </tr>

        <tr>

          <td class="title">E-mail:</td>

          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="email"/></td>

        </tr>

        <tr>

          <td class="title">出生日期:</td>

          <td class="content">&nbsp;

            <% 

               SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

               String date = sdf.format(regUser.getBirthday());

               

            %>

             <%=date%>

          </td>

        </tr>

        <tr>

          <td class="title">爱好:</td>

          <td class="content">&nbsp;

            <% 

               String[] favorites = regUser.getFavorites();

               for(String f:favorites)

               {

            %>

                <%=f%> &nbsp;&nbsp;

            <% 

               }

            %>

          </td>

        </tr>

        <tr>

          <td class="title">自我介绍:</td>

          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="introduce"/></td>

        </tr>

        <tr>

          <td class="title">是否介绍协议:</td>

          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="flag"/></td>

        </tr>

     </table>

    </center>

  </body>

</html>
package servlet;

import java.io.IOException;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import entity.Users;

public class RegServlet extends HttpServlet {

 /**

   * Constructor of the object.

   */

 public RegServlet() {

  super();

 }

 /**

   * Destruction of the servlet. <br>

   */

 public void destroy() {

  super.destroy(); // Just puts "destroy" string in log

  // Put your code here

 }

 /**

   * The doGet method of the servlet. <br>

   *

   * This method is called when a form has its tag value method equals to get.

   * 

   * @param request the request send by the client to the server

   * @param response the response send by the server to the client

   * @throws ServletException if an error occurred

   * @throws IOException if an error occurred

   */

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  doPost(request, response);

  

 }

 /**

   * The doPost method of the servlet. <br>

   *

   * This method is called when a form has its tag value method equals to post.

   * 

   * @param request the request send by the client to the server

   * @param response the response send by the server to the client

   * @throws ServletException if an error occurred

   * @throws IOException if an error occurred

   */

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  request.setCharacterEncoding("utf-8");

  

  Users u = new Users();

  String username;

  String mypassword;

  String gender;

  String email;

  String introduce;

  String isAccept;

  Date birthday;

  String[] favorites;

  

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

  

  try {

   username = request.getParameter("username");

   mypassword = request.getParameter("mypassword");

   gender = request.getParameter("gender");

   email = request.getParameter("email");

   introduce = request.getParameter("introduce");

   if (request.getParameterValues("isAccept")!=null) {

    isAccept = request.getParameter("isAccept");

   }else {

    isAccept = "false";

   }

   birthday = sdf.parse(request.getParameter("birthday"));

   //用来获取多个复选按钮的值

   favorites = request.getParameterValues("favorites");

   u.setUsername(username);

   u.setMypassword(mypassword);

   u.setGender(gender);

   u.setEmail(email);

   u.setIntroduce(introduce);

   if (isAccept.equals("true")) {

    u.setFlag(true);

   }else {

    u.setFlag(false);

   }

   u.setBirthday(birthday);

   u.setFavorites(favorites);

   

   //把注册成功的用户对象保存到session中

   request.getSession().setAttribute("regUser", u);

   //跳转到注册成功页面

   request.getRequestDispatcher("../userinfo.jsp").forward(request,response);

   

  } catch(Exception ex){

   ex.printStackTrace();

  }

  

 }

 /**

   * Initialization of the servlet. <br>

   *

   * @throws ServletException if an error occurs

   */

 public void init() throws ServletException {

  // Put your code here

 }

}

package servlet;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.Users;
public class RegServlet extends HttpServlet {
/**
   * Constructor of the object.
   */
public RegServlet() {
  super();
}
/**
   * Destruction of the servlet. <br>
   */
public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
  // Put your code here
}
/**
   * The doGet method of the servlet. <br>
   *
   * This method is called when a form has its tag value method equals to get.
   *
   * @param request the request send by the client to the server
   * @param response the response send by the server to the client
   * @throws ServletException if an error occurred
   * @throws IOException if an error occurred
   */
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doPost(request, response);
 
}
/**
   * The doPost method of the servlet. <br>
   *
   * This method is called when a form has its tag value method equals to post.
   *
   * @param request the request send by the client to the server
   * @param response the response send by the server to the client
   * @throws ServletException if an error occurred
   * @throws IOException if an error occurred
   */
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  request.setCharacterEncoding("utf-8");
 
  Users u = new Users();
  String username;
  String mypassword;
  String gender;
  String email;
  String introduce;
  String isAccept;
  Date birthday;
  String[] favorites;
 
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 
  try {
   username = request.getParameter("username");
   mypassword = request.getParameter("mypassword");
   gender = request.getParameter("gender");
   email = request.getParameter("email");
   introduce = request.getParameter("introduce");
   if (request.getParameterValues("isAccept")!=null) {
    isAccept = request.getParameter("isAccept");
   }else {
    isAccept = "false";
   }
   birthday = sdf.parse(request.getParameter("birthday"));
   //用来获取多个复选按钮的值
   favorites = request.getParameterValues("favorites");
   u.setUsername(username);
   u.setMypassword(mypassword);
   u.setGender(gender);
   u.setEmail(email);
   u.setIntroduce(introduce);
   if (isAccept.equals("true")) {
    u.setFlag(true);
   }else {
    u.setFlag(false);
   }
   u.setBirthday(birthday);
   u.setFavorites(favorites);
  
   //把注册成功的用户对象保存到session中
   request.getSession().setAttribute("regUser", u);
   //跳转到注册成功页面
   request.getRequestDispatcher("../userinfo.jsp").forward(request,response);
  
  } catch(Exception ex){
   ex.printStackTrace();
  }
 
}
/**
   * Initialization of the servlet. <br>
   *
   * @throws ServletException if an error occurs
   */
public void init() throws ServletException {
  // Put your code here
}
}


这样怎么解决空指针?


AquanGeek
浏览 1616回答 1
1回答

言曌博客liuyanzhao_com

这种问题,还是自己思考吧,多折腾几次,有好处
打开App,查看更多内容
随时随地看视频慕课网APP