У меня есть эта странная проблема с функцией sendRedirect, которую я не могу объяснить. У меня есть страница заголовка в Header.jsp как:Проблемы с функцией sendRedirect()
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*,java.util.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Online Exam Portal</title>
<style type="text/css">
body{
background-color : lightgreen;
}
</style>
</head>
<body>
<%
if(session.getAttribute("userid")==null)
{
response.sendRedirect("signup.html");
}
%>
<img src="exam_header01.jpg"/>
<br />
Welcome <%=session.getAttribute("userid")+"This is Working"%>
<a href="ChangePassword.jsp">Change Password</a>
<a href="logout.jsp">Logout</a>
<hr/>
я включены страницы заголовка на всех страницах, я сделал это, так как я хотел, чтобы запретить пользователям, которые не имеют действительный сессию и перенаправление на страницу регистрации, но она не перенаправляет вместо этого показывает Welcome null, а также:
1> Если я напишу что-нибудь внутри этого оператора if, он отлично работает! , Как:
if(session.getAttribute("userid")==null)
{
response.sendRedirect("signup.html");//this is not executed
out.println("This Runs");//this String is printed
}
2> Если я пишу один и тот же код внутри главной страницы (то есть после того, как страница заголовка) он отлично работает!
3> И самое главное, что код работает, когда я заменить его:
<jsp:forward page="signup.html"/>
Что может быть проблема здесь. было бы очень полезно, если кто-нибудь сможет объяснить примеры.
Update: - Даже если я печатать на моей странице после Перенаправление он будет работать, если я использую, если использование заявления после включения заголовка:
<jsp:include page="Header.jsp"/>
<%if(session.getAttribute("userid")==null)
{
response.sendRedirect("signup.html");
out.println("I cant See this because page is redirected ");
}
%>
</body>
</html>
Это не способ обработки доступа без аутентификации. Вместо этого используйте фильтр проверки подлинности. – Masudul
@ Масуд благодарю вас за ваш комментарий. Недавно я узнал об этой технологии, поэтому у меня нет большой идеи. Я просто пытаюсь :) –
Попробуйте указать абсолютный путь для отправки метода перенаправления. – anon