简单的Servlet和Nullpointerexception(错误500)

时间:2013-05-06 20:24:35

标签: java exception servlets

尝试启动我的第一个servlet后出现以下错误......可能出错了什么?我正在使用正确的方法(get)并且相同的代码适用于我的朋友......是否可能是tomcat的错?

org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Ciastko threw exception
java.lang.NullPointerException

DOGET方法:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws    ServletException, IOException {
    // TODO Auto-generated method stub

     response.setContentType("text/html;charset=UTF-8");
      HttpSession sesja = request.getSession(true);
      PrintWriter out = response.getWriter();
      String login = request.getParameter("login");
      String pass = request.getParameter("pass");
      if(login.isEmpty() || pass.isEmpty()){
           out.println("Brak sesji lub atrybutu.");
          } 

      if(login.equals("admin") || pass.equals("admin")){
           out.println("ADMIN");
          } 
      else{
       sesja.setAttribute("login", login);
       sesja.setAttribute("pass", pass);
      }



}

这里是index.html文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   http://www.w3.org/TR/html4/loose.dtd">
<html> 
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Tytuł</title>
</head>
<body>
<form action="Ciastko" method="GET">
<p>Login: </p><input name="login" id="login" />
<p>Hasło: </p><input name="pass" id="pass" />

<input type="submit" value="Wyślij!" />
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

  

ServletRequest.getParameter

     

以String形式返回请求参数的值,如果参数不存在,则返回 null。

您没有检查您的登录/传递是否为null,如果未设置参数,将导致isEmpty崩溃。