`
fandayrockworld
  • 浏览: 312920 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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>
 
分享到:
评论
1 楼 fengsuyuly 2013-08-22  
问下楼主,我的为什么不行呢?我加了loging后,request中的Entity不打印,但是response中的却可以
信息: 1 * Server in-bound request
1 > POST http://localhost:8080/jservice/rs/v100/hallMgr
1 > host: localhost:8080
1 > user-agent: Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0
1 > accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
1 > accept-language: null
1 > accept-encoding: gzip, deflate
1 > content-type: application/json; charset=UTF-8
1 > content-length: 1771
1 > connection: keep-alive
1 > pragma: no-cache
1 > cache-control: no-cache
1 >

2013-8-22 15:12:22 com.sun.jersey.api.container.filter.LoggingFilter$Adapter finish
信息: 1 * Server out-bound response
1 < 200
1 < Content-Type: application/xml
1 <
{"a":1}

相关推荐

    jersey所有的jar包

    5. **jersey-media-multipart**: 支持MIME多部分类型的数据传输,例如上传文件。 6. **jersey-guava**: 引入Google Guava库,提供了一些实用工具类和集合类,增强Jersey的功能。 7. **jersey-hk2**: 依赖于HK2...

    jersey-core、jersey-client jar包.rar

    标题中的"jersey-core、jersey-client jar包.rar"指的是两个关键的Java库,它们是Jersey框架的核心组件。Jersey是实现Java RESTful Web服务(JAX-RS)规范的开源框架,由Sun Microsystems(现Oracle)开发,用于构建...

    jersey1.18jar包

    例如,`jersey-server.jar`包含了服务端的核心功能,`jersey-client.jar`则用于客户端调用RESTful接口,`jersey-servlet.jar`是与Servlet容器集成的组件,而`jersey-json.jar`则支持JSON数据格式的处理。 另外,...

    Jersey所需Jar包

    Jersey 是一个开源的 RESTful Web 服务客户端和服务器端框架,它基于 Java 的 JAX-RS(Java API for RESTful Web Services)规范。在Java应用程序中使用Jersey,需要包含一些核心的JAR包来支持其功能。以下是标题和...

    jersey-1.19JAR包全

    8. **jersey-media-multipart**:支持文件上传和下载的多部分/表单数据处理。 9. **jersey-common**:通用工具和功能,如注入、类型转换等。 10. 其他可能的依赖库,如JSR-311规范实现、Apache HttpClient等。 总的...

    Maven项目springMVC_Mybatis多数据源_Jersey_Task

    在本项目中,Jersey可能被用作后端接口的开发工具,允许客户端通过HTTP请求获取或更新数据,从而实现前后端分离的设计模式。 【Task】 "Task"通常指的是后台任务或者定时任务,可能涉及到Spring的Quartz或...

    jersey所有jar包下载

    Jersey 是一个开源的 RESTful Web 服务客户端和服务器实现,它基于 Java 框架,主要用于构建符合 JAX-RS(Java API for RESTful Web Services)标准的应用程序。JAX-RS 是 Java 平台上的一个规范,用于简化创建和...

    jersey

    在描述中提到的“NULL”可能是由于原始信息缺失,但我们可以从提供的博文链接中推测,博主可能分享了一些关于使用Jersey进行Web服务开发的经验或技术细节。由于链接无法直接访问,我们无法获取具体的信息,但可以...

    jersey最新jar包

    - jersey-media-*:支持不同MIME类型的模块,如jersey-media-json-jackson用于处理JSON数据。 - jersey-test-framework:测试框架,帮助开发者进行单元测试和集成测试。 4. 使用jersey: 要使用jersey最新jar包...

    jersey-1.19.1相关jar包

    3. **jersey-json-1.19.1.jar**:此jar包支持JSON格式的数据交换,允许服务端和客户端处理JSON格式的请求和响应。它包含了对JSON-P(Java API for JSON Processing)的支持。 4. **jersey-client-1.19.1.jar**:这...

    jersey webapp ajax demo

    【描述】:基于Maven的“jersey webapp ajax demo”项目旨在教授开发者如何利用Jersey作为Java RESTful服务的实现框架,以及如何通过Ajax技术在客户端与服务器之间进行异步数据交换。在这个示例中,Ajax...

    flink需要的jersey-core和jersey-client

    如果flink提交jar到yarn上运行报如下错误:java.lang.NoClassDefFoundError: com/sun/jersey/core/util/FeaturesAndProperties,在flink的lib包里面添加这两个jar包

    Jersey 2.25.1 User Guide

    ### Jersey 2.25.1 用户指南关键知识点解析 #### 标题:Jersey 2.25.1 用户指南 **Jersey** 是一个实现了 **JAX-RS** (Java API for RESTful Web Services) 规范的开源框架,用于构建 RESTful Web 服务。**Jersey ...

    jersey学习

    jersey

    jersey2.5之返回text、xml、json数据

    项目中集成jersey2.5,轻量快捷的提供rest方式的webservice接口,支持text、xml、json格式数据返回,tomcat与glassfish中都可运行,tomcat中返回不支持json数据类型返回。

    jersey1.18 jar包

    5. 数据绑定:Jersey支持多种数据绑定机制,如JAXB、Gson、Jackson等,将Java对象序列化为JSON或XML。 6. 过滤器和拦截器:可以通过实现ContainerRequestFilter和ContainerResponseFilter接口,对请求和响应进行...

    jersey所需jar包

    Jersey 是一个开源的、基于 Java 的 RESTful Web 服务客户端和服务器框架,它使得开发者可以轻松地创建和部署 RESTful 服务。本压缩包文件包含的是 Jersey 框架运行所需的 JAR 包,这些库文件对于构建和运行基于 ...

    Jersey+spring Demo

    【标题】"Jersey+Spring ...这包括如何配置Jersey和Spring的整合,如何编写RESTful资源类,以及如何使用Spring管理服务层和数据访问层。这对于想要深入理解J2EE架构和微服务开发的开发者来说,是一个宝贵的实践资源。

    oauth jersey实现例子

    总结来说,OAuth与Jersey的结合使用可以帮助我们构建安全的RESTful API,保护用户数据不被未授权的客户端访问。通过正确配置和实现OAuth服务器、Jersey资源、认证过滤器以及处理各种OAuth流,我们可以提供一个强大而...

    jersey最新版带example

    2. 在“jersey最新版”中,可能包含了一些示例,演示了如何使用Jersey和JAXB来接收和发送XML格式的数据,这对于理解如何在实际项目中处理XML数据非常有帮助。 三、发布REST服务 1. REST(Representational State ...

Global site tag (gtag.js) - Google Analytics