2014-11-03 1 views
1

Я пытаюсь создать службу входа в систему, но мои страницы не перенаправляются должным образом. Я следующее:Jsp servlet - страница входа не перенаправляется должным образом

login.jsp

<form action="login" method="post"> 

User Name 
<br> 
<input type="text" name="userId"/> 
<br><br> 
Password 
<br> 
<input type="password" name="password"/> 
<br><br> 
<input type="submit"/> 

</form> 

LoginServlet.java

package org.sohail.javabrains; 

public class LoginServlet extends HttpServlet { 
private static final long serialVersionUID = 1L; 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    String userId, password; 

    userId=request.getParameter("userId"); 
    password=request.getParameter("password"); 

    LoginService loginService = new LoginService(); 

    boolean result = loginService.authenticate(userId, password); 

    if (result) { 
     RequestDispatcher dispatcher = request.getRequestDispatcher("WEB-INF/success.jsp"); 
     dispatcher.forward(request, response); 
     return; 
    } 
    else { 
     response.sendRedirect("login.jsp"); 
     return; 
    } 
} 

} 

LoginService.java - имеет аутентификацию (идентификатор пользователя, пароль) метод, который подключается к базе данных, проверяет идентификатор пользователя и передача и возвращает логическое значение.

web.xml

<servlet> 
    <servlet-name>LoginServlet</servlet-name> 
    <servlet-class>org.sohail.javabrains.LoginServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>LoginServlet</servlet-name> 
    <url-pattern>/LoginServlet</url-pattern> 
</servlet-mapping> 

из login.jsp страницы, не имеет значения, что я ставлю я получаю следующую ошибку:

HTTP Status 404 -/LoginApp/Войти

Он должен перенаправить страницу на success.jsp, если authenticate() reutrns true.

Я довольно новичок в этом, поэтому, пожалуйста, не стесняйтесь предлагать любые другие предложения.

+0

изменить отображение сервлета web.xml на <сервлет-имя> LoginServlet /Логин и удалить WEB-INF часть из переадресации URL: RequestDispatcher диспетчер = request.getRequestDispatcher ("success.jsp"); –

+0

спасибо! Мне не нужно было изменять WEB-INF/success.jsp, хотя success.jsp находится в папке WEB_INF. – Sohail

ответ

0

Спасибо Биргит Martinelle за следующий ответ:

изменить отображение вашего web.xml сервлета в

<servlet-mapping> 
    <servlet-name>LoginServlet</servlet-name> 
    <url-pattern>/login</url-pattern> 
</servlet-mapping> 

и удалить WEB-INF часть из переадресации URL:

RequestDispatcher dispatcher = request.getRequestDispatcher("success.jsp"); 

- Birgit Martinelle 50 мин. Назад

 Смежные вопросы

  • Нет связанных вопросов^_^