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
得到:
项目最后的结构: