问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在Java的普通类中获取Session以及request对象

发布网友 发布时间:2022-05-17 11:48

我来回答

4个回答

热心网友 时间:2023-10-20 16:44

曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助!
前期准备:创建一个项目,并配置好一些需要的文件。
创建好项目后就创建一个类RequestFilter。
创建RequestFilter类是需要继承一接口,必须是javax.servlet包下的Filter接口。
创建好后在RequestFilter中创建线程:
//创建线程
threadLocalRequest、threadLocalResponse
在doFilter()方法中写
//把request、response传入
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;
import javax.servlet.http.HttpServletResponse;
public class RequestFilter implements Filter {
//创建线程
public static ThreadLocal<HttpServletRequest> threadLocalRequest = newThreadLocal<HttpServletRequest>();
public static ThreadLocal<HttpServletResponse> threadLocalResponse = newThreadLocal<HttpServletResponse>();
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throwsIOException, ServletException {
threadLocalRequest.set((HttpServletRequest) arg0);
threadLocalResponse.set((HttpServletResponse) arg1);
arg2.doFilter(arg0, arg1);
}
public void destroy() {}
public void init(FilterConfig arg0) throws ServletException {}
}
在类RequestFilter中写好代码后在WEB-INF目录下的web.xml文件中注册此类,
<filter>
<filter-name>RequestFilter</filter-name>
<filter-class>架包名.RequestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RequestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>RequestFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
注册好后就可以在Java类中轻松获取自己在Action或页面上保存在Session中值,具体调用
//获取request
HttpServletRequest request = RequestFilter.threadLocal.get();
request.getSession().getAttribute("所保存的名称");
HttpServletRequest request = RequestFilter.threadLocal.get();这句话一定要放在方法里面,不能放在方法外面。
只是简单的一些操作,希望对你有一定的帮助!

热心网友 时间:2023-10-20 16:44

简单的说 一个自己写的Servlet肯定要继承HttpServlet,这个时候在重写post 和get 方法里面 传进的参数就是 Request 对象 和Response 对象 直接用request.getAttitude().getSession("你存进的session键值"); 记着 村的是什么类型对象就用什么对象去接收,希望可以帮到你。。。。。。。。。。。

热心网友 时间:2023-10-20 16:45

普通的java类中貌似没有办法获取到的,要么是基于servlet,要么是struts下才行,都要导入jar包的。

热心网友 时间:2023-10-20 16:46

HttpServletRequest 对象下的 get方法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
健康快乐歌词 美的电热水器美肤浴原理 UPS蓄电池寿命是多长 怎么正确使用保养UPS不间断电源 2000年属什么生肖配对最好 一根甘蔗有多少糖分(一根甘蔗相当于几碗米饭的热量 方法) 一根甘蔗含糖量多少(糖尿病能喝甘蔗水吗 步骤详解) ...1 4 5 B超结果:肝功能正常 脾大,脾胀 HBV-DNA〈1000为阳性 这个需 ... ...还有两个老人要养,这种情况能给多少抚养费? 离婚分居两年八个月!对方要求一次性付清抚养费另一方要求一年一给法院会... 搞笑动画《梦游》的剧情设计是怎样的? 如何在普通的Java类里面获取Request对象 Java 怎么在一个普通类中获取到Request对象 肖战粉丝惹出过什么事和艾辰有关啊? 如何在java普通类中获取request 在java类中怎么获取request 如何辨别手机壳是不是原装的? 京东自营手机壳换货检测严格吗 肝炎有传染吗 肝炎可以传染吗? 肝炎传染吗 专门清理血液垃圾,血管刷得干干净净,夏天一定要多吃哪些食物? 迅雷6下载 官方下载 迅雷6下载 免费下载 OGRE 在windows下如何安装? 皮肤暗黄适合穿什么颜色,有玫红色,黄色,橘色 中世纪2全面战争下载 安装方法与要用的软件 中文 皮肤偏暗黄的人适合穿橙色吗 怎么系统重装?步骤越详细越好!!我用的是D版安装盘 谁教我下载这个视频 天敏D6在那里下载安卓软件啊? ??? 皮肤暗黄适合穿橙色的上衣吗 java怎么获取request里面的值 苹果11下载的字体怎么取消订单? java webservice中怎么获得request 内痔有哪些症状呢 java中如何用request获得一个列表传来的值? 新买苹果11没有设置字体正常吗? 东风本田首保最久可以推迟多长时间做 大病险和意外险价格 内痔的临床表现都有哪些? 微波炉加热后的馍馍怎么撕不动,很软,就是太劲道? 不想让馒头太筋道怎么做? 东风本田思域如何保养 东风本田杰德已开三千公里可以做首次保养吗 OPPO Ace2机型使用屏幕自动旋转的方法? 高语境文化与低语境文化的差异?分别有哪些国家属于高语境文化 那些国家属于低语境国家,那些属于高语境的? 高低语境的例子有哪些,如广告简历? 高语境文化与低语境文化特点 德语属于高语境还是低语境? 麻烦问下霍尔的高低语境理论算翻译理论还是语言学的理论啊,能不能准确的给我说下它属于的这个范围呢?谢谢