`
sungang_1120
  • 浏览: 310583 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

java普通类获取requset response对象

 
阅读更多
前期准备:创建一个项目,并配置好一些需要的文件。
 
创建好项目后就创建一个类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 = new ThreadLocal<HttpServletRequest>();
	public static ThreadLocal<HttpServletResponse> threadLocalResponse = new ThreadLocal<HttpServletResponse>();
	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, 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.threadLocalRequest.get();
       
        //获取当前用户IP
        String ip = AddrIPUtil.getIpAddr(request);
 
 
分享到:
评论

相关推荐

    Spring MVC 中几种获取request和response的方式

    Spring MVC 中几种获取request和response的方式,讲解详细实用!

    ThreadLocal

    利用过滤器去获取request和response,进行将其设置到ThreadLocal从而保证我的请求的安装线,这样就能在java普通类中获取request和response

    filter工具类

    利用过滤器去获取request和response,进行将其设置到ThreadLocal从而保证我的请求的安装线,这样就能在java普通类中获取request和response

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.5 response回应对象的应用 3.5.1 HTTP头信息的操作 3.5.2 设置MIME类型 3.5 13页面重定向操作 3.6 Session会话对象的应用 3.6.1 session的生命周期 3.6.2 会话的创建与获取. 3.6.3 移除session中的数据 3.6.4 设置...

    java 编写文件上传类简单易用

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { //1 int len = request.getContentLength(); byte buffer[] = new byte[len]; //2 ...

    泰豪软件招聘笔试题(java)new201102

    1. 简述抽象类和接口的区别?...Request,response,session,application,context,page,config,exception,out。 3. JavaBean设计中,按照属性的作用不同可以细分为那几类? ................................

    Java开发技术大全 电子版

    9.3使用getClass()方法获取类信息290 9.4使用类标记292 9.5使用关键字instanceof判断所属类292 9.6利用反射获取运行时类信息293 9.6.1使用isInstance()方法判断所属类294 9.6.2获取成员方法信息295 9.6.3获取...

    java-servlet-api.doc

    当客户端发出请求时,Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象,这两个对象作为参数传递到service()方法中。 Servlet也可以执行ServletRequest接口和ServletResponse接口。...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    java web 视频、电子书、源码(李兴华老师出版)

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    李兴华Java Web开发实战经典(高清版) Part2

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    java微信公众号MVC开发框架

    微信控制器类是用@Weixin注解的普通类,与sprngmvc里面的controller很类似,方法的执行也很类似。我们在com.telecomjs.yc.controller包下建一个java类WeixinController,如下: package ...

    LxAjaxFrame

    简单来说,这套框架 就是用于在JSP页面与后台JAVA类直接通讯的框架,现在只支持String没...如果你想在自己写的类里面使用request,response,session等web参数 则需要注册的类 继承WebPage类 如需源代码 QQ:466253283

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象...

    report 开源的访问层中间件,基于java平台

    k)RESPONSE_RESULT:自定义返回体数据对象字段名 l)ENCODE:参数编码格式 m)ERROR400_PAGE_PATH:400时返回页面地址 n)ERROR500_PAGE_PATH:500时返回页面地址 o)ERROR401_PAGE_PATH:401时返回页面地址 report注解解释 ...

    jsp servlet 入门学习资料-新手一看就懂

    6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 &lt;jsp:forward&gt; 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...

Global site tag (gtag.js) - Google Analytics