您尝试访问的页面(/ manager / projects)不存在-tomcat7下的intellij 13.1

catch23

我想在tomcat 7.0.52下的intellij 13.1上运行Web项目。

此应用程序具有3个角色-管理员/管理员/用户。

当我想访问管理员角色时,它显示-404 Not found

经理

这是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);
        }
    }
}

从登录到渲染器,到:

@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);
    }

和下一个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>

我不知道为什么会这样?

我调查了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" />

如何解决这个麻烦?

马克·托马斯

您已在上下文路径/ manager上部署了Tomcat的Manager应用程序,因此任何以/ manager开头的请求都将路由到该应用程序。看来您需要取消部署Tomcat的管理器应用程序,才能允许您的应用程序处理以/ manager开头的URL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bingbot尝试访问不存在的页面

来自分类Dev

Bingbot尝试访问不存在的页面

来自分类Dev

Gmail SMTP 错误和误报:“您尝试访问的电子邮件帐户不存在”

来自分类Dev

WebDriverException:未知错误:尝试启动Chrome浏览器时,DevToolsActivePort文件不存在(1)

来自分类Dev

页面不存在错误

来自分类Dev

Intellij Maven不存在

来自分类Dev

Intellij Maven不存在

来自分类Dev

名称空间中不存在Configuration Manager

来自分类Dev

ASP页面尝试连接到不存在的SQL Server

来自分类Dev

Nautilus不断尝试访问不存在的文件夹

来自分类Dev

访问不存在的对象属性时避免尝试catch

来自分类Dev

尝试使用已不存在的对象

来自分类Dev

尝试捕获-URL链接不存在

来自分类Dev

xscreensaver记录不存在的登录尝试

来自分类Dev

C ++尝试删除不存在的指针

来自分类Dev

尝试使用已不存在的对象

来自分类Dev

CalenderView不存在-尝试实现DatePickerDialog

来自分类Dev

加载页面后不存在元素

来自分类Dev

您要查找的页面不存在

来自分类Dev

routeconfig.cs - 页面不存在

来自分类Dev

访问不存在的数组元素

来自分类Dev

插入不存在的SQL访问权限

来自分类Dev

intellij运行项目wtpwebapps不存在

来自分类Dev

在tomcat7的manager-gui中更改密码

来自分类Dev

存在/不存在:“选择1”与“选择字段”

来自分类Dev

部署IntelliJ IDEA 13 + Tomcat 7

来自分类Dev

访问Tomcat Manager抛出404

来自分类Dev

404页面不存在。未找到您所请求的页面。Codeigniter 3.0.6

来自分类Dev

404页面不存在。未找到您所请求的页面。Codeigniter 3.0.6