0
私は単純なWebアプリケーションを持っています。 これは私のサーブレットリクエストURLハンドラサーブレットが間違っています
@WebServlet(urlPatterns = "/info_send", loadOnStartup = 1)
public class ApplicationController extends HttpServlet {
@Override
public void init() throws ServletException {
UsersService.addUser("admin", "admin");
}
@Override
protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
PrintWriter writer = httpServletResponse.getWriter();
httpServletResponse.setContentType("text/html");
String login = httpServletRequest.getParameter("login");
String password = httpServletRequest.getParameter("pass");
if (!login.isEmpty() && !password.isEmpty() && UsersService.isLoginPresent(login)) {
if(UsersService.isUserExist(login, password)) {
getServletContext().getRequestDispatcher("/result.jsp").forward(httpServletRequest, httpServletResponse);
} else {
writer.println("User with such login is already registered.");
getServletContext().getRequestDispatcher("/").include(httpServletRequest, httpServletResponse);
}
} else {
writer.println("No such user in the system");
getServletContext().getRequestDispatcher("/").include(httpServletRequest, httpServletResponse);
}
writer.close();
}
@Override
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
httpServletResponse.getWriter().write("The request was wrong");
}
}
である。これは、私のweb.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<error-page>
<location>/error.jsp</location>
</error-page>
<error-page>
<location>/AppExceptionHandler</location>e
</error-page>
</web-app>
私はシンプルなMavenのWebプロジェクトを使用しています。間違ったURLを処理するにはどうすればいいですか?たとえば、localhost:8080/home/12
をチェックするとしますか?私の場合、エラーページ(error.jsp)とエラーハンドラ(別のサーブレット)は機能しませんでした。