всякий раз, когда я нажимаю кнопку "добавить новую книгу" или "список всех книг" на первой странице, я получаю сообщение об ошибке от сервера tomcat, говорящее
"Тип отчета о состоянии
Сообщение / новый
Описание Исходный сервер не нашел текущего представления для целевого ресурса или не хочет раскрывать, что он существует. "
my servletcontroller.java
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* ControllerServlet.java
* This servlet acts as a page controller for the application, handling all
* requests from the user.
* @author www.codejava.net
*/
public class ControllerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private DBUtils dbUtils;
public void init() {
String jdbcURL = getServletContext().getInitParameter("jdbcURL");
String jdbcUsername = getServletContext().getInitParameter("jdbcUsername");
String jdbcPassword = getServletContext().getInitParameter("jdbcPassword");
dbUtils = new DBUtils(jdbcURL, jdbcUsername, jdbcPassword);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getServletPath();
try {
switch (action) {
case "/new":
showNewForm(request, response);
break;
case "/insert":
insertProjectManager(request, response);
break;
case "/delete":
deleteProjectManager(request, response);
break;
case "/edit":
showEditForm(request, response);
break;
case "/update":
updateProjectManager(request, response);
break;
case "/list":
listProjectManager(request, response);
break;
default:
listProjectManager(request, response);
break;
}
} catch (SQLException ex) {
throw new ServletException(ex);
}
}
private void listProjectManager(HttpServletRequest request, HttpServletResponse response)
throws SQLException, IOException, ServletException {
List<ProjectManager> managerList = dbUtils.queryManager();
request.setAttribute("managerList", managerList);
RequestDispatcher dispatcher = request.getRequestDispatcher("ManagerListing.jsp");
dispatcher.forward(request, response);
}
private void showNewForm(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("ManagerForm.jsp");
dispatcher.forward(request, response);
}
private void showEditForm(HttpServletRequest request, HttpServletResponse response)
throws SQLException, ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
ProjectManager manager = dbUtils.findProjectManager(id);
RequestDispatcher dispatcher = request.getRequestDispatcher("ManagerForm.jsp");
request.setAttribute("manager", manager);
dispatcher.forward(request, response);
}
private void insertProjectManager(HttpServletRequest request, HttpServletResponse response)
throws SQLException, IOException {
String name = request.getParameter("name");
String pass = request.getParameter("pass");
int projectID = Integer.parseInt(request.getParameter("projectID"));
ProjectManager manager = new ProjectManager(name, pass, projectID);
dbUtils.insertProjectManager(manager);
response.sendRedirect("list");
}
private void updateProjectManager(HttpServletRequest request, HttpServletResponse response)
throws SQLException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
String pass = request.getParameter("pass");
int projectID = Integer.parseInt(request.getParameter("projectID"));
ProjectManager manager = new ProjectManager(id, name, pass, projectID);
dbUtils.updateProjectManager(manager);
response.sendRedirect("list");
}
private void deleteProjectManager(HttpServletRequest request, HttpServletResponse response)
throws SQLException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
dbUtils.deleteProjectManager(id);
response.sendRedirect("list");
}
}
managerform.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Books Store Application</title>
</head>
<body>
<center>
<h1>Manager Management</h1>
<h2>
<a href="/new">Add New Book</a>
<a href="/list">List All Books</a>
</h2>
</center>
<div align="center">
<c:if test="${manager != null}">
<form action="update" method="post">
</c:if>
<c:if test="${manager == null}">
<form action="insert" method="post">
</c:if>
<table border="1" cellpadding="5">
<caption>
<h2>
<c:if test="${manager != null}">
Edit manager
</c:if>
<c:if test="${manager == null}">
Add New manager
</c:if>
</h2>
</caption>
<c:if test="${manager != null}">
<input type="hidden" name="id" value="<c:out value='${manager.id}' />" />
</c:if>
<tr>
<th>Title: </th>
<td>
<input type="text" name="title" size="45"
value="<c:out value='${manager.name}' />"
/>
</td>
</tr>
<tr>
<th>Author: </th>
<td>
<input type="text" name="author" size="45"
value="<c:out value='${manager.password}' />"
/>
</td>
</tr>
<tr>
<th>Price: </th>
<td>
<input type="text" name="price" size="5"
value="<c:out value='${manager.projectID}' />"
/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Save" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
managerlisting.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Books Store Application</title>
</head>
<body>
<center>
<h1>Books Management</h1>
<h2>
<a href="/new">Add New Book</a>
<a href="/list">List All Books</a>
</h2>
</center>
<div align="center">
<table border="1" cellpadding="5">
<caption><h2>List of Project Managers</h2></caption>
<tr>
<th>ID</th>
<th>NAME</th>
<th>PASSWORD</th>
<th>PROJECTID</th>
<th>Actions</th>
</tr>
<c:forEach var="manager" items="${managerList}">
<tr>
<td><c:out value="${manager.id}" /></td>
<td><c:out value="${manager.name}" /></td>
<td><c:out value="${manager.password}" /></td>
<td><c:out value="${manager.projectID}" /></td>
<td>
<a href="/edit?id=<c:out value='${manager.id}' />">Edit</a>
<a href="/delete?id=<c:out value='${manager.id}' />">Delete</a>
</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
и мой web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Books Management Web Application</display-name>
<context-param>
<param-name>jdbcURL</param-name>
<param-value>jdbc:mysql://localhost:3306/demo</param-value>
</context-param>
<context-param>
<param-name>jdbcUsername</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>jdbcPassword</param-name>
<param-value>mySQL12.!</param-value>
</context-param>
<servlet>
<servlet-name>ControllerServlet</servlet-name>
<servlet-class>ControllerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/Error.jsp</location>
</error-page>
</web-app>