如何让JSP网页在session失效时跳转到首页?
展开全部
使用过滤器过滤请求,如果已经登录,则通过,没有登录或者超时则跳转到首页或者登录页面。
1,首先要写一个登录过滤器,public class SessionFilter implements Filter。一定要实现Filter,在doFilter方法中写出判断Session的代码。
2,配置web.xml。
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.test.filter.SessionFilter</filter-class>
</filter>
3,但是光有这些还是不够,这样它会拦截你所有的请求,包括你的登录请求,你在发起登录请求的时候就被拦截验证,是否已经登录,发现没有登录,然后给返回到首页了。所有要给过滤器设置“白名单”,哪些请求直接通过,不用过滤。
<init-param>
<param-name>noFilterURI</param-name>
<param-value>
/login.do
/index.jsp
</param-value>
</init-param>
4,在SessionFilter类中获取“白名单”,可以通过public void init(FilterConfig filterConfig)方法获取
public void init(FilterConfig filterConfig)
throws ServletException
{
this.filterConfig = filterConfig;
noFilterURI = filterConfig.getInitParameter("noFilterURI");
}
在doFilter方法中得到“白名单”,设置不用过滤,直接通过。
代码:
public class SessionFilter implements Filter{
private FilterConfig filterConfig;
private String noFilterURI;
public SessionFilter() {
filterConfig = null;
noFilterURI = null;
}
public void init(FilterConfig filterConfig) throws ServletException{
this.filterConfig = filterConfig;
noFilterURI = filterConfig.getInitParameter("noFilterURI");
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException{
// do something
}
public void destroy()
{
filterConfig = null;
}
}
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.test.filter.SessionFilter</filter-class>
<init-param>
<param-name>noFilterURI</param-name>
<param-value>
/login.do
/index.jsp
</param-value>
</init-param>
</filter>
展开全部
一般判断session失效,会采用的方式是filter。通过编写filter,在发现session失效后抛出指定异常。
另外在web.xml画面中,指定该异常跳转到首页画面即可。
另外在web.xml画面中,指定该异常跳转到首页画面即可。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先做个if判断,如果session值可用,做相应的操作,否则跳转,跳转语句: response.sendRedirect("/index.jsp");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这可以在session存放一个值,如果这个值消失了,就转向首页就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
session中存一个值。如果得到的值为空的话就重定向到首页
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询