社区首页 >问答首页 >javax.servlet.filter类中的请求/响应处理

javax.servlet.filter类中的请求/响应处理
EN

Stack Overflow用户
提问于 2012-01-15 05:32:58
回答 2查看 1.9K关注 0票数 1

如何检测它是否是过滤器类将要处理的请求/响应?另外,我需要取消对servlet的请求,并希望创建自己的响应并从dofilter方法返回它。有没有可能做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2012-01-15 05:50:07

每个筛选器都可以不影响请求和响应,也可以同时影响其中一个或两个。这完全取决于您是否在调用chain.doFilter(...)之前和/或之后执行任何操作-以及您是否传入了包装的请求和/或响应。

如果您需要在过滤器中创建自己的响应,只需简单地不调用chain.doFilter(...)并从过滤器提供您自己的响应。

请参考Filter.doFilter Javadocs,包括:

此方法的典型实现将遵循以下模式:- 1.检查请求2.可选地将请求对象与自定义实现包装在一起以过滤输入过滤的内容或标头3.可选地将响应对象与自定义实现包装在一起以过滤输出过滤的内容或标头4. a)使用FilterChain对象(chain.doFilter())调用链中的下一个实体,4. b)或不将请求/响应对传递给过滤器链中的下一个实体以阻止请求处理5.在调用过滤器链中的下一个实体后直接在响应上设置标头。

票数 2
EN

Stack Overflow用户

发布于 2012-01-16 04:22:13

我已经使用response.getWriter().write("response data“)修改了响应;并通过删除chain.doFilter()来避免将响应传递给servlet;

现在,我正在验证来自doFilter方法的会话变量(用于身份验证)。由于请求和响应都在同一个doFilter方法中处理,我认为这些会话验证发生了2次(1)。当请求发生时& (2.)回应的时候。但是,如何找到doFilter当前正在处理的内容(请求/response)?因此,我可以让会话验证只在请求时发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8867756

复制
相关文章
HTTP请求与响应处理
客户端向服务器端发送请求时,有时需要携带一些客户信息,客户信息需要通过请求参数的形式传递到服务器端,比如登录操作。
Qwe7
2022/04/22
8690
HTTP请求与响应处理
客户端向服务器端发送请求时,有时需要携带一些客户信息, 客户信息需要通过请求参数的形式传递到服务器端,比如登录操作。
清出于兰
2020/10/29
9490
HTTP请求与响应处理
tomcat请求处理分析(五) 请求到响应流
1.1.1.1  请求到响应界面流 请求处理的过程主要是将所有的东西解析成流,转化成对应的http报文,所以在这里我先不关注servlet因为它最终也就是解析成流里面的数据 processKey里面最终执行的是processSocket,它是线从缓存中获取对应的线程池,没有的话就创建一个,然后进行执行 protected boolean processSocket(KeyAttachmentattachment, SocketStatus status, boolean dispatch) { try {
cfs
2018/03/08
1.3K0
Spring cached 的 wrapper 类读取请求响应内容
Servlet 的 request body 以及 response body 一旦流被读取了,就无法再次被读取了,因此这对于有些要做拦截业务请求来说,比较麻烦。那么如何处理这个业务场景呢?利用 filter,然后重写 HttpServletRequest 和 HttpServletResponse 包装一层,然后 proceed,最后 response 完之后在把cached 的 body 设置回原始响应。
BUG弄潮儿
2021/05/17
3.6K0
Flask-RESTful的请求和响应处理(一)
在 Flask-RESTful 应用程序中,请求和响应处理非常简单。我们可以使用 Flask-RESTful 的 reqparse 模块来解析请求参数,并使用 Flask-RESTful 的 marshal 模块来序列化响应数据。
堕落飞鸟
2023/05/06
7700
Flask-RESTful的请求和响应处理(二)
除了使用 RequestParser 和 marshal_with() 装饰器来解析请求参数和序列化响应数据之外,Flask-RESTful 还提供了一些其他的请求和响应处理功能,例如请求钩子、异常处理和跨域资源共享(CORS)支持等。
堕落飞鸟
2023/05/06
6150
基于 Symfony 组件封装 HTTP 请求响应类
上篇教程学院君给大家介绍了命名空间以及如何基于 Composer 来管理命名空间与 PHP 脚本路径的映射,自此以后,我们将基于这套机制来实现 PHP 类的自动加载和函数引入。
学院君
2020/08/18
8.7K0
基于 Symfony 组件封装 HTTP 请求响应类
Nest.js 处理 XML 请求及响应
笔者最近在使用 Nest.js 开发服务端程序,遇到了一些需要处理 XML 的场景,搜遍了网络上发现没有比较优雅的方式,于是摸索后将过程整理出来。
savokiss
2022/04/27
3.7K0
SpringMvc(二)- 请求处理参数 和 响应数据处理
请求参数处理,不使用参数注解: 1.如果请求参数名和请求处理的形参名一致,springMvc 框架会自动将你的请求参数名对应的参数值,绑定到请求方法的形参中,方法内就可以直接使用,不用手动获取;
化羽羽
2022/10/28
6770
Go-RESTful-处理请求和响应(二)
在 Go-RESTful 中,可以使用 Response 对象来返回数据。 Response 对象有许多方法可用于设置响应头、状态码和响应正文。
堕落飞鸟
2023/04/25
4040
Go-RESTful-处理请求和响应(一)
Go-RESTful 是一种流行的 Web 服务框架,它允许开发人员使用 REST(Representational State Transfer)架构风格构建 API。在 Go-RESTful 中,请求和响应是非常重要的概念。请求是客户端发送给服务器的数据,而响应是服务器返回给客户端的数据。
堕落飞鸟
2023/04/25
9120
如何使用Java处理HTTP请求和响应?
Java中有许多成熟的HTTP框架可以使用,例如Spring、Netty等。这些框架提供了各种HTTP处理器和工具类,使得HTTP请求和响应处理变得更加容易和高效。下面是一个简单的Java代码示例,演示如何使用Java处理HTTP请求和响应:
用户1289394
2023/08/22
6520
如何使用Java处理HTTP请求和响应?
Django的请求与响应
request.META: 请求中的元数据(消息头) request.META['REMOTE_ADDR']可以请求到客户端地址,当然你可以请求META中的任何信息.
Yuou
2022/09/26
6150
简单实现springmvc中的请求处理
自定义MVC框架中的一些元素 一些注解 @Documented @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface Controller { String value () default ""; } @Documented @Target({ElementType.TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
zhaozhen
2021/06/18
6480
简单实现springmvc中的请求处理
自定义MVC框架中的一些元素 一些注解 @Documented @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface Controller { String value () default ""; } @Documented @Target({ElementType.TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
zhaozhen
2021/07/15
5990
简单实现springmvc中的请求处理
Servlet请求和响应
在Java Web中Servlet、请求和响应是最基本的三个对象,在Web容器的管理下,这三者能够完成基本的HTTP请求处理。
阿杜
2018/08/06
9420
Servlet请求和响应
无请求不响应?
前几天我们学习了HttpServletResponse,今天就让我们了解一下HttpServletRequest。和HttpServletResponse一样,在service方法中的request的类型是ServletRequest,而doGet/doPost方法的request的类型是HttpServletRequest,HttpServletRequest是ServletRequest的子接口,功能和方法更加强大。
阿Q说代码
2021/05/13
1.2K0
无请求不响应?
谈谈HTTP的请求和响应
HTTP是HyperText Transfer Protocol的缩写,意思是超文本传输协议。它是一种应用层协议,允许基于WEB的应用程序进行通信和交换数据。
Jimmy_is_jimmy
2019/07/31
1.2K0
HTTP -- 请求/响应 结构
  2.Content- Type:表示属于什么类型文档。一般默认是 text/plain.通常指定为 text/html
小蔚
2019/09/11
3.3K0
点击加载更多

相似问题

javax.servlet.Filter阻止iFrame请求

11

javax.servlet.Filter响应默认标头

10

处理请求响应

217

无法访问javax.servlet.Filter;找不到javax.servlet.Filter的类文件

5607

用于特定请求方法的javax.servlet.Filter

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档