2016-02-10 3 views
0

У меня мало проблем с перенаправлением в jsp.JSP Redirect Issue

login.jsp

<% 
Object user = (String) request.getSession().getAttribute("User"); 
if(user != null){ 
       PrintWriter out = response.getWriter(); 
       out.println("<font color=red>You are already logged </font>"); 
       RequestDispatcher rd = getServletContext().getRequestDispatcher("/index.jsp"); 
       rd.forward(request, response); 
      } 
       %> 

Когда пользователь пытается страницу Login.jsp доступа, когда он уже зарегистрирован, эта страница должна перенаправить его на главную страницу (index.jsp). Он работает, но когда я использую переадресацию вперед, я не вижу сообщение из out.println ~, также когда я использую include redirecting, у меня есть двойная главная страница (но с сообщением: D). Как я могу это исправить? Существует ли лучший способ сделать это с использованием java-кода на странице jsp?

ответ

0

Вы можете использовать response.sendRedirect("url");

0

Если вы хотите, чтобы пользователь видел сообщение на короткое время, а затем поместить на другой URL, это не называется (HTTP) перенаправления, это обычный старый мета обновления:

<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> 
<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="refresh" content="2;URL=http://www.example.com" > 
    </head> 
    <body> 
    A brief message displayed for 2 seconds... 
    </body> 
</html>