`
sungang_1120
  • 浏览: 323670 次
  • 性别: 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);
 
 
分享到:
评论

相关推荐

    普通java类 获取Request

    ### 普通Java类获取Request的方法 在Java Web开发中,经常需要在非Servlet类(如普通Java类)中获取`HttpServletRequest`对象,以便访问请求中的参数、头信息等。通常情况下,`HttpServletRequest`对象是在Servlet...

    普通java类中获取pageContext对象

    在探讨如何在普通的Java类中获取`PageContext`对象之前,我们先来了解一下`PageContext`的基本概念及其在JavaWeb开发中的重要性。`PageContext`是JavaServer Pages(JSP)技术的核心类之一,它提供了对当前页面的上...

    普通类传入对象request

    ### 普通类传入对象request:深入解析与实践 在Web开发中,`HttpServletRequest`和`HttpServletResponse`对象是处理HTTP请求和响应的核心组件。对于初学者而言,掌握如何在自定义类中有效利用这两个对象至关重要。...

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

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

    icedemo实现对象的传输与返回(java)

    这些类可以是普通的Java类,通过序列化和反序列化机制与ICE通信。例如: ```java public class Request { private String methodName; private Object[] parameters; // getters and setters } public class ...

    ThreadLocal

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

    filter工具类

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

    对于jsp的一些理解,包括原理,还有request,response概述,以及一些注意事项

    ### 对于JSP的理解 #### 1. JSP 概述 ##### 1.1 什么是JSP? JSP(JavaServer Pages)是Java技术...此外,`request` 还提供了诸如 `getRequestURI()` 和 `getParameter(String name)` 等方法来获取请求的具体信息。

    java路径获得几种方法.txt

    - **示例**:通过`java.io.File`类可以创建文件对象并获取其路径。 - 获取当前工作目录的默认路径为`System.getProperty("user.dir")`。 #### 五、案例分析 下面通过一个具体的案例来进一步说明路径获取的方法:...

    java文件上传实例

    本地存储时,可以使用Java的`java.io.File`类创建文件并写入数据;如果是云存储,就需要借助相关的SDK来完成文件的上传。 总的来说,这个“java文件上传实例”涵盖了前端交互、后端处理、文件上传的限制、拦截器的...

    某公司Java面试试题

    7. JSP隐含对象:JSP中有一些预定义的对象,如`out`, `request`, `response`, `session`, `application`,它们提供了与HTTP请求交互的能力。 8. 关联表与外键:在数据库设计中,如果两个表有关联,其中一个表的主键...

    九歌在线java笔试题

    26. **JSP内置对象**:request对象用于获取客户端请求信息,response对象用于响应客户端,session对象用于管理用户会话,application对象代表整个Web应用,pageContext对象用于访问JSP页面的上下文信息,还包括out、...

    Java面试题,jsp&servlet面试题

    - **request**:HttpServletRequest对象,用于获取请求参数。 - **response**:HttpServletResponse对象,用于设置响应头和内容。 - **cookie**:用于处理Cookie。 - **out**:JspWriter对象,用于输出内容。 -...

    一个好用的java文件上传代码,供大家交流学习呵呵

    在`doPost`方法中,通过`ServletFileUpload.parseRequest(request)`获取到一个`FileItem`列表,`FileItem`对象代表了请求中的一个字段,可能是普通的表单字段或上传的文件。遍历这个列表,对于每个`FileItem`,如果...

    史上最全java面试,103项重点知识,带目录

    JSP内置对象有request、response、session、application、pageContext、out、config、page、exception。 41. **作用域**: page、request、session、application,范围依次增大,page只在当前JSP页面有效。 42. ...

    java文件上传demo

    2. **创建DiskFileItemFactory**:这个工厂类负责创建`FileItem`对象,这些对象代表了上传请求中的各个部分。你可以设置临时文件存储路径和大小限制。 3. **创建ServletFileUpload**:这个类是实际处理文件上传的...

    笔试题_java

    1. **JSP内置对象**:JSP(JavaServer Pages)提供了九个内置对象,它们分别是:request(请求对象)、response(响应对象)、session(会话对象)、application(应用程序对象)、out(输出对象)、pageContext...

    JSP隐含对象.ppt

    它们是由JSP引擎根据Servlet规范创建的Java类实例,主要用于简化开发者的工作。JSP页面中的9种主要隐含对象包括: - `request`: javax.servlet.http.HttpServletRequest,用于处理客户端请求,如获取请求参数。 - ...

    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 EE复习重点

    - **方法**:`init(FilterConfig config)`、`doFilter(ServletRequest request, ServletResponse response, FilterChain chain)`、`destroy()`。 #### 七、JSP - **JSP 概念**:Java Server Pages,结合了 HTML、...

Global site tag (gtag.js) - Google Analytics