亚洲天堂成人在线视频_伊人网狠狠干_亚洲精品综合在线观看_国产在线第一页_91最新在线观看_国产亚洲久

【已解决】 要过滤所有的jsp页面和action的session是否过时 web里面怎么配置 ? sessionFilter里面又如何获取url ?

请先 登录 后评论

最佳答案 2024-11-07 00:00

在Java EE应用中,要过滤所有的JSP页面和Action请求以检查Session是否过期,可以使用过滤器(Filter)。下面是一个基本的配置和实现方法:

配置过滤器

首先,在web.xml中配置过滤器:

<filter>
    <filter-name>SessionFilter</filter-name>
    <filter-class>com.example.SessionFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>SessionFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>SessionFilter</filter-name>
    <url-pattern>*.action</url-pattern>
</filter-mapping>

实现过滤器

然后,实现SessionFilter类:

package com.example;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

public class SessionFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        // 初始化代码(如果需要)
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {

        HttpServletRequest httpRequest = (HttpServletRequest) request;
        HttpServletResponse httpResponse = (HttpServletResponse) response;

        // 获取当前请求的URL
        String requestUrl = httpRequest.getRequestURL().toString();

        // 获取Session
        HttpSession session = httpRequest.getSession(false);

        // 检查Session是否过期
        if (session == null || session.getAttribute("user") == null) {
            // Session过期,重定向到登录页面
            httpResponse.sendRedirect(httpRequest.getContextPath() + "/login.jsp");
            return;
        }

        // 如果Session有效,继续处理请求
        chain.doFilter(request, response);
    }

    @Override
    public void destroy() {
        // 清理代码(如果需要)
    }
}

代码说明

  1. 过滤器配置:在web.xml中,SessionFilter被配置为对所有以.jsp和.action结尾的请求进行过滤。

  2. 获取URL:在doFilter方法中,通过httpRequest.getRequestURL().toString()获取当前请求的完整URL。

  3. Session检查:通过httpRequest.getSession(false)获取当前的Session对象。如果Session不存在或Session中没有用户信息(如user属性),则认为Session已过期,重定向到登录页面。

  4. 继续请求处理:如果Session有效,调用chain.doFilter(request, response)继续处理请求。

通过这种方式,你可以确保所有的JSP页面和Action请求在处理之前都经过Session有效性检查。

请先 登录 后评论

其它 0 个回答

主站蜘蛛池模板: 人妻体内射精一区二区 | a级毛片成人网站免费看 | 午夜淫片| 综合色区| 国产乱人伦无无码视频试看 | 亚洲精品二区国产综合野狼 | 99久久九九| 国产午夜偷精品偷伦 | 国产精品中文字幕在线 | 亚洲av无码专区青青草原 | 成人国产精品免费网站 | 日本中文字幕在线观看视频 | 国产极品粉嫩福利姬萌白酱 | 日韩无毛 | 中国熟妇人妻xxxxx | 一区二区日本 | 亚洲欧美综合另类 | 黄视频免费 | 五月丁香久久综合网站 | 夜夜爽妓女8888888视频 | 色婷婷一区二区三区四区成人网 | 色资源av中文无码先锋 | 亚洲国产成人影院在线播放 | 九九久久国产精品免费热6 九九久久精品 | 一级人做人爰a全过程免费视频 | 男人天堂视频网站 | 亚洲 自拍 中文字幕 在线 | 一级一片在线播放在线观看 | 久久这里只有精品1 | 精品成人在线观看 | 精品亚洲成a人在线播放 | 性生活黄色一级片 | 男女啪网站 | 欧美 丝袜 自拍 制服 另类 | 亚洲精品一区二区三区美女 | 亚洲快插 | 伊人俺去久久涩五月综合 | 午夜精品久久久久久久无码 | 久久免费99精品久久久久久 | 国产精品一区亚洲一区天堂 | 成人av无码一区二区三区 |