Как выйти из папки при управлении в вебе Java - PullRequest
0 голосов
/ 25 мая 2018

У меня есть страница JSP, где я проверяю, а не пользователь, имеет действительный сеанс пользователя для доступа к страницам клиентов, проблема в том, что когда я пытаюсь перенаправить клиента на свою страницу индекса / входа, онавключает мою папку WEB-INF, в которой находятся все мои другие файлы или файлы.

Вот мой isValidUser.jsp:

<html>
<%
    User u = (User) session.getAttribute("user");
    if(u == null){
        request.getRequestDispatcher("index.jsp").forward(request, response);
    }
%>
</html>

Вот как я могу его включить:

<html>
<head>
    <link rel="stylesheet" type="text/css" href="main.css" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Find carport</title>
</head>
<body>
    <%@include file ="header.jsp" %>
    <%@include file="isValidUser.jsp" %>
    <h1>Start din ordre</h1><br>
</body>
</html>

Выдает ошибку: "HTTP Status 404 - /LogInSample/WEB-INF/index.jsp", поскольку считает, что моя страница указателя находится в папке WEB-INF, как я могу предотвратить это?

1 Ответ

0 голосов
/ 26 мая 2018

Вы используете путь относительно вашего сервлета.

Из документации ServletRequest # getRequestDispatcher :

Указанный путь может быть относительным, хотя он не может выходить за пределы текущего контекста сервлета. Если путь начинается с символа "/", он интерпретируется как относительный к текущему корневому контексту. Этот метод возвращает значение null, если контейнер сервлета не может вернуть RequestDispatcher.

Это то, что вам нужно

request.getRequestDispatcher("/index.jsp").forward(request, response);

Все сервлеты после компиляции переходят на WEB-INF / classes , поэтому ваш код пытается найти ваш index.jsp в папке WEB-INF, потому что он относится к вашему сервлету, а не к корневому контексту.

PS: я предполагаю, что ваш index.jsp прямо под корневым контекстом, но если этов какой-то папке в корне контекста вам также нужно указать путь к папке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...