SSH的web项目中加入jersey框架实现web service
一、参考资源:
1.http://www.waylau.com/jersey-2-spring-4-rest/?utm_source=tuicool
2.http://blog.csdn.net/cb2474600377/article/details/44240191
三、webservice开发实例
关于jersey开发web service和客户端调用,可以参考:
http://blog.csdn.net/cb2474600377/article/details/44240191
以下开发环境及工具:
1.window764为Pc机
2.Tomcat7.0 window 64位版本
3.Eclipse 3.7 window 64位版本
4.火狐浏览器36.0.1版本
5.hibernate3.2 + struts-2.3.16.3 + spring 2.5.6
6.Mysql 6.0
7. jaxrs-ri-2.16版本
1.新建一个web项目,引入SSH框架,关于SSH框架的引入这里就不详细解释了。
2.将jersey框架里的jar包全部导入项目,然后剔除asm-debug-all.jar,该jar包与ssh中的asm.jar冲突,然后引入spring对jersey提供支持的jar包:spring-bridge-2.3.0-b10.jar和jersey-spring3-2.13.jar
3.然后引入jersey框架,引入详细信息以及jersey下载可以参考:
http://blog.csdn.net/cb2474600377/article/details/44240191
下面做简单介绍:
(1)先在src中新建一个webservice类和一个加载接口资源的类,例如:
web service类:RestService
package com.supre.webservice; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("HelloWorld") public class RestService { @GET @Path("/sayHello/{name}") @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) @Produces(MediaType.APPLICATION_JSON) public String sayHello(@PathParam("name")String name){ return "Hello "+name; } }
接口加载类:MyServiceRegister
package com.supre.webservice; import org.glassfish.jersey.server.ResourceConfig; public class MyServiceRegister extends ResourceConfig { public MyServiceRegister() { register(RestService.class); } }(2)然后在web.xml文件中添加jersey配置信息:
<servlet> <servlet-name>jersey-servlet</servlet-name> <servlet-class> org.glassfish.jersey.servlet.ServletContainer </servlet-class> <!-- 配置自己的资源加载类去加载资源 --> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.jersey.service.MyServiceRegister</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-servlet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping>
4.然后在spring和struts2的核心配置文件中加入对jersey的支持,先在struts2核心配置文件中加入配置
<!-- 设置不拦截的路径,对与web service路径请求不被struts2拦截 --> <constant name="struts.action.excludePattern" value="/rest/.*" />
<p>在spring的核心配置文件中加入</p><pre name="code" class="html"><bean id="restService" class="com.supre.webservice.RestService"></bean> <bean id="myserviceRegister" class="com.supre.webservice.MyServiceRegister"></bean>
5.运行项目,访问:http://localhost:8080/ssh_jersey/rest/HelloWorld/sayHello/admin
得到:
项目最后的结构: