永发信息网

如何在普通的Java类里面获取Request对象

答案:2  悬赏:60  手机版
解决时间 2021-11-18 06:00
如何在普通的Java类里面获取Request对象
最佳答案
    import java.io.IOException;  
    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;  
      
    public class RequestFilter implements Filter {  
        // 创建线程  
        public static ThreadLocal threadLocal = new ThreadLocal();  
        //把request传入  
        public void doFilter(ServletRequest arg0, ServletResponse arg1,  
                FilterChain arg2) throws IOException, ServletException {  
              threadLocal.set((HttpServletRequest)arg0);  
              arg2.doFilter(arg0, arg1);  
        }  
      
        public void destroy() {  
        }  
      
        public void init(FilterConfig arg0) throws ServletException {  
        }//        得到request对象 HttpServletRequest request = RequestFilter.threadLocal.get();}filter>  
            RequestFilter  
            类路径.RequestFilter  
          
          
            RequestFilter  
            /*  
        
      
          
            RequestFilter  
            *.do  
        
    如果是这样的话,我们需要使用一个 ThreadLocal 变量,我们把当前  request 的变量绑定到里面,在一个 request 请求的生命周期内我们在方法调用的各个更深的层次中都可以直接使用它而不需要在每个方法中都传递这个 request 参数,保存在某个地方就容易导致因为多个请求共用同一个实例而出问题,所有 context 相关的变量不保存在任何业务类相关并且可能被多线程共用的对象实例中才是保证不会出现线程安全问题的途径。

    例如,这个例子中我们只要把 web.xml 中配置好 ContextFilter 后它就会自动在请求开始时绑定一个 context,结束后自动销毁,在这中间的任何时刻我们都可以通过 MyWebContext.getCurrentContext() 得到我们的 HttpServletRequest 实例和其它相关的 context 变量:
全部回答
类成员 定义一个 HttpServletRequest request;
但是用不了,空指针异常
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
需要进口时,人民币兑换成美元。这些人民币央
外汇剥头皮是什么意思?
从杨思到松江骑行经不经过隧道怎么走
有谁卖二手数控车床
凤凰数码冲印地址好找么,我有些事要过去,
上外虹口校区的自习室外校人员能进去自习吗?
175x56+25x56
牛仔裤上面有了锅烟灰怎么洗
戴尔的7559怎么关闭系统的配置更
请问这款Gucci的棒球帽是哪一年的款
怎么办护工证
乐拍(恩平店)地址在哪,我要去那里办事,
联想Y450(原系统XP,最近换了Win7)光驱有的
720x480是多少像素?
吃金桔有什么好处?
推荐资讯
商车费改后,车损险条款修订减少了哪些责任免
电脑老是自动弹出wps
超市没有条码的时候商品时怎么管理的
尼桑逍客左前门里外打不开怎么办
饥荒海难用的千年狐mod,但是到了下个世界就
步步高午托辅导班地址有知道的么?有点事想过
反观的意思是不是反着想?
南昌铁路局火车票代售点地址在什么地方,想过
枣子太甜怎么回事
苹果7p128G在深圳华强北4千1可以买到他们说是
郑州人民路丹尼超市有没有卖真空袋的呢?
胎囊3.1*2.9*2.1是什么形状男孩还是女孩呀
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?