java - HTTP 状态 500 - 在第 9 行处理 JSP page/index.jsp 时发生异常

标签 java eclipse jsp servlets tomcat7

我正在尝试从 Eclipse 中的包运行一个 Web 应用程序,但无论我尝试什么,我仍然遇到这些错误。我还尝试阅读和理解错误日志报告,但这对我没有帮助,因为我对这一切都是新手

错误信息:

type Exception report

message An exception occurred processing JSP page /index.jsp at line 9

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 9

6: <title>SimpleJspServletDB</title>
7: </head>
8: <body>
9: <jsp:forward page="/UserController?action=listUser" />
10: </body>
11: </html>

它说第 9 行有问题,但这对我没有帮助。

这是我的 UserController.java 类

package com.daniel.controller;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.daniel.dao.UserDao;
import com.daniel.model.User;

public class UserController extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static String INSERT_OR_EDIT = "/user.jsp";
    private static String LIST_USER = "/listUser.jsp";
    private UserDao dao;

    public UserController() {
        super();
        dao = new UserDao();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String forward="";
        String action = request.getParameter("action");

        if (action.equalsIgnoreCase("delete")){
            int userId = Integer.parseInt(request.getParameter("userId"));
            dao.deleteUser(userId);
            forward = LIST_USER;
            request.setAttribute("users", dao.getAllUsers());    
        } else if (action.equalsIgnoreCase("edit")){
            forward = INSERT_OR_EDIT;
            int userId = Integer.parseInt(request.getParameter("userId"));
            User user = dao.getUserById(userId);
            request.setAttribute("user", user);
        } else if (action.equalsIgnoreCase("listUser")){
            forward = LIST_USER;
            request.setAttribute("users", dao.getAllUsers());
        } else {
            forward = INSERT_OR_EDIT;
        }

        RequestDispatcher view = request.getRequestDispatcher(forward);
        view.forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = new User();
        user.setFirstName(request.getParameter("firstName"));
        user.setLastName(request.getParameter("lastName"));
        try {
            Date dob = new SimpleDateFormat("MM/dd/yyyy").parse(request.getParameter("dob"));
            user.setDob(dob);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        user.setEmail(request.getParameter("email"));
        String userid = request.getParameter("userid");
        if(userid == null || userid.isEmpty())
        {
            dao.addUser(user);
        }
        else
        {
            user.setUserid(Integer.parseInt(userid));
            dao.updateUser(user);
        }
        RequestDispatcher view = request.getRequestDispatcher(LIST_USER);
        request.setAttribute("users", dao.getAllUsers());
        view.forward(request, response);
    }
}

还有我的 DD 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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>SimpleJspServletDB</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>UserController</display-name>
    <servlet-name>UserController</servlet-name>
    <servlet-class>com.daniel.controller.UserController</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UserController</servlet-name>
    <url-pattern>/UserController</url-pattern>
  </servlet-mapping>
</web-app>

还有我的index.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>SimpleJspServletDB</title>
</head>
<body>
<jsp:forward page="/UserController?action=listUser" />
</body>
</html>

最佳答案

在 servlet 的 doGetdoPost 方法中使用 try-catch block ,并在 catch block ,以便您可以准确地知道 servlet 失败的位置。

关于java - HTTP 状态 500 - 在第 9 行处理 JSP page/index.jsp 时发生异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206016/

相关文章:

html - Apache Tomcat :The requested resource () is not available (while acessing the resource that should be avaliable)

jsp - 转义的 Unicode 有时会正确呈现,但有时会呈现为 HTML 实体

Java 泛型 : Restricting a class to specific implementations.

java - android 如何解析数组项?

java - 按顺序运行 N 个 Jmeter 线程

java - 如何手动将项目添加到另一个项目的构建路径?

java - 当我导出 Java 项目时,我的图形不会显示

java - 异步拆分 IProgressMonitor

java - 如何将 JavaScript 数组发送到表单标签内的 Servlet?

java - 如何在 SWT 中将文本设置为只读组合