You have Tomcat's Manager application deployed at the context path /manager so any request that starts with /manager is routed to that application. It looks like you need to undeploy Tomcat's manager application to allow your application to handle URLs starting with /manager.
The page you tried to access (/manager/projects) does not exist - intellij 13.1 under tomcat7
-
21-06-2023 - |
Domanda
I want to run web project on intellij 13.1 under tomcat 7.0.52.
This application has 3 roles - admin / manager / user.
And when I want to access manager role it shows - 404 Not found:
here is snippet of LoginServlet
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession();
String email = request.getParameter("email");
String password = MD5Utils.getMD5String(request.getParameter("password"));
User user = null;
try {
user = new UserService().getByEmail(email);
} catch (DAOException e) {
log.error(e);
}
if (user != null) {
if (!ValidationUtils.isNullOrEmpty(user.getEmail()) && user.getPassword().equals(password)) {
session.setAttribute("user", user);
log.info("Logged in: " + user.getFirstName() + " " + user.getLastName());
if (session.getAttribute("waitUrl") != null) {
String url = session.getAttribute("waitUrl").toString();
response.sendRedirect(url);
} else {
String contextPath = request.getContextPath();
if (user.getRoleId().equals(1)) { // 1=user role
response.sendRedirect(contextPath + "/user/tasks");
} if (user.getRoleId().equals(2)) { // 2 manager role
response.sendRedirect(contextPath + "/manager/projects");
} if (user.getRoleId().equals(3)) { // 3 admin role
response.sendRedirect(contextPath + "/admin/users");
}
}
} else {
request.setAttribute("loginErrors", "Wrong email or password");
request.getRequestDispatcher("/pages/login.jsp").forward(request, response);
}
}
}
From Login it's renderer to:
@WebServlet("/manager/projects")
public class OutProjects extends HttpServlet {
private static Logger log = Logger.getLogger(OutProjects.class);
private ProjectService projectService;
private List<Project> projects;
@Override
public void init() throws ServletException {
projectService = new ProjectService();
updateTable();
}
private void updateTable() {
try {
projects = projectService.getListOfObjects();
} catch (DAOException e) {
log.error(e);
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getSession().setAttribute("projects", projects);
request.getRequestDispatcher("/pages/manager/projects.jsp").forward(request, response);
}
and next jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:set var="language"
value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}"
scope="session"/>
<fmt:setLocale value="${language}"/>
<fmt:setBundle basename="com.java.task11.i18n.text"/>
<html lang="${language}">
<head>
<title>Projects</title>
<jsp:include page="header.jsp" />
</head>
<body>
<div class="container">
<div id="tableContainer-1">
<TABLE class="table table-bordered" >
<thead>
<tr>
<th>#</th>
<th><fmt:message key="project.name"/></th>
<th><fmt:message key="project.description"/></th>
<th><fmt:message key="project.notes"/></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<c:forEach var="project" items="${sessionScope.projects}">
<form action="${pageContext.request.contextPath}/pages/manager/updateprojects" name="updateProject" method="post">
<tr>
<td>${project.id}</td>
<td>${project.projectName}</td>
<td>${project.description}</td>
<td>${project.notes}</td>
<td><button class="btn btn-inverse" type="submit" name="update" value="${project.id}">
<fmt:message key="button.update"/></button></td>
<td><button class="btn btn-danger" type="submit" name="delete" value="${project.id}">
<fmt:message key="button.delete"/></button></td>
<td><button class="btn btn-info" type="submit" name="project_id" value="${project.id}">
<fmt:message key="project.tasks"/></button></td>
</tr>
</form>
</c:forEach>
<a href="${pageContext.request.contextPath}/pages/manager/addproject.jsp"> <fmt:message key="button.addProject"/></a>
</tbody>
</TABLE>
</div>
</div>
</body>
</html>
I couldn't figure out why this happen?
I looked into tomcat-users.xml
:
<role rolename="admin" />
<role rolename="tomcat" />
<role rolename="developer" />
<role rolename="customer" />
<role rolename="user" />
<user username="admin" password="admin" roles="admin,tomcat,user,customer" />
<user username="nazar" password="nazar" roles="admin,tomcat,developer,customer,user" />
<user username="developer" password="developer" roles="admin,tomcat,developer,customer,user" />
How to solve this trouble?
Soluzione
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow