jersey 打印原始数据

好久没有整理最近遇到的问题了,先更新个,慢慢补。

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>
 

猜你喜欢

转载自fandayrockworld.iteye.com/blog/1675186