У меня есть этот JSP-проект, который мне нужно отредактировать (не мой собственный код, так что я немного запутался).На данный момент для отображения содержимого проекта в файле e-system.html
есть набор фреймов, который содержит источник loginMenu.jsf
.
Все работает нормально, за исключением случаев, когда я пытаюсь выйти из системы, экран просто становится пустым белым, и мне нужно обновить страницу, чтобы перейти к предполагаемому экрану выхода из системы.Ресурс URL, который я набираю для доступа к веб-сайту: ../BIS/e-system.html
Но когда я ввожу: ../BIS/loginMenu.jsf
, он может полностью выйти из системы.
Я думаю, что причина в этом наборе фреймов.Есть ли альтернативный способ решения этой проблемы.Я поставил необходимый код, который связывает файлы с e-system.html
, а также мой код выхода на всякий случай.
web.xml :
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
index.jsp :
<%@ page session="false" contentType="text/html;charset=utf-8"%>
<%response.sendRedirect("e-system.html");%>
e-system.html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>E-System</TITLE>
</HEAD>
<FRAMESET>
<FRAME src="loginMenu.jsf">
</FRAMESET>
</HTML>
logout.jsp :
<%
UserInfo uif = (UserInfo)session.getAttribute("UserInfo");
if(uif!=null){
uif.logout();
}
for (Enumeration e = session.getAttributeNames() ; e.hasMoreElements() ;) {
session.removeAttribute((String)e.nextElement());
}
session.invalidate();
request.logout();
response.sendRedirect(request.getContextPath());
%>