好久没有整理最近遇到的问题了,先更新个,慢慢补。
jersey 1.13
用jersey实现restful web service,而,如果用jersey的自动装载的话,如何将调用端的原始数据打印出来?
刚开始的时候想写一个自定义的filter,将原始数据打印出来,但是,post上来的普通数据,调用request.getInputStream() 获取以后,request中的流就已经被取出来了,后面jersey再取的时候就会报错,见http://shootyou.iteye.com/blog/1337199,所以不可行。
于是google之 ,发现jersey有实现此功能的filter,配置一下就可以了。
比如我的web.xml配置完之后就是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<display-name>JAX-RS REST Servlet</display-name>
<servlet-name>JAX-RS REST Servlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.spring.container.servlet.SpringServlet
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.path.resource</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAX-RS REST Servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
本文介绍如何使用Jersey 1.13版本的RESTful Web服务框架配置LoggingFilter,以记录客户端请求的原始数据。通过在web.xml中设置ContainerRequestFilters和ContainerResponseFilters参数,可以轻松实现HTTP请求和响应的日志记录。
1435

被折叠的 条评论
为什么被折叠?



