在jsp中重定向

时间:2013-05-07 11:12:18

标签: jsp

logout.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-not working

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

1 个答案:

答案 0 :(得分:0)

我建议使用Servlet过滤器进行登录检查。这样,您就可以避免在不希望用户无需登录的情况下访问的每个文件中编写登录检查代码。

这是servlet过滤器的好tutorial

Servlet过滤器不仅用于登录检查,还用于身份验证,访问者计数,转换请求等几个问题。