2013-05-07 60 views
0

logout.jsp重定向在JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 

<% 
session.invalidate(); 
response.setStatus(response.SC_MOVED_TEMPORARILY); 
response.setHeader("Location","login.jsp"); 
%> 

checklogin.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 

<% 
if (session.getAttribute("UserName") != null && session.getAttribute("IPAddr") != null) { 

    } else{ 
     response.setStatus(response.SC_MOVED_TEMPORARILY); 
     response.setHeader("Location","login.jsp"); 
    } 
%> 

HTML 的index.php

<body> 
    <jsp:include page="checklogin.jsp" /> 
    <div class="Maindiv"> 
     <div id="Header"> 
      <jsp:include page="Header.jsp" /> 
       </div> 
     </div> 
</body> 

header.jsp中

<table> 
        <tr> 
         <td align="left" valign="top" style="padding-right: 5px;"> 
          <span class="lblDarkGray10">Welcome, <strong><%=(String)session.getAttribute("UserName") %></strong></span> 
         </td> 
         <td align="right" valign="top" style="padding-left:5px; border-left:solid 1px lightgray;"> 
          <a href="logout.jsp" class="lnkDarkGray10">Logout</a> 
         </td> 
        </tr> 
        <tr>      
        <td colspan="2" align="right" valign="top"> 
         <span class="lblDarkGray10"><%=(String)session.getAttribute("IPAddr")%></span> 
         </td>      
        </tr> 
       </table> 

重定向页面 logout.jsp工作的 checklogin.jsp,不工作

,如果用户直接访问的index.jsp,那么它应该被重定向到的login.jsp

+0

,刚刚从指数重定向... – NINCOMPOOP 2013-05-07 11:14:16

+0

' <%@ taglib uri =“http://java.sun.com/jsp/jstl/core”prefix =“c”%> ' – NINCOMPOOP 2013-05-07 11:15:20

回答

0

我会建议使用Servlet过滤器的做登录检查。这样,您可以避免在每个不希望用户访问的文件中写入登录检查代码,而无需登录。

以下是用于servlet过滤器的tutorial

Servlet过滤器不仅用于登录检查,但对于像认证的几个问题,访客统计,转化为什么你想`include`请求等