前言
最近在做一个RESTtful Webservice项目。至于什么是Webservice,什么是RESTful Webservice不做具体介绍。到目前为止,我对RESTful Webservice和基于SOAP的Webservice的最大的区别在于,前者是以资源为中心,而后者是以动作为中心。
RESTful Webservice可以基于多种框架,如Struts2、springMVC等。但是,综合易用性和对各种框架的熟悉程度,我选择了使用Jersey+Spring+Hibernate的形式构建我的RESTful Webservice。(Jersey是JAX-RS的一种实现)
在集成的过程中,遇到了一些问题,并解决。在这里进行一个总结,希望给以后需要集成的人节省一点时间。也希望可以得到大神的指点。
下面将从以下几个方面进行总结:
一、各个框架的版本
二、主要的配置文件内容,包括web.xml、applicationContext.xml和pom.xml。
三、Spring整合Jersey
四、Spring整合Hibernate
五、整合过程中遇到的问题和解决方法
一、各个框架的版本
Jersey版本为1.18.1
Spring版本为4.1.1.RELEASE
Hibernate版本为4.1.6.Final
二、主要配置文件内容
1、web.xml,也即项目部署文件的所有内容。具体内容见以下代码和注释。
JSH
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
DelegatingFilterProxy
org.springframework.web.filter.DelegatingFilterProxy
targetBeanName
authenticFilter
targetFilterLifecycle
true
DelegatingFilterProxy
/*
jersey-spring
com.sun.jersey.spi.spring.container.servlet.SpringServlet
com.sun.jersey.config.property.packages
buptsse.xct.webservice
jersey-spring
/rs/*
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
WEB-INF/applicationContext.xml
2、applicationContext.xml,也即Spring上下文的配置。具体内容见以下代码和注释。
org.hibernate.dialect.MySQLDialect
buptsse/xct/entity/User.hbm.xml
buptsse/xct/entity/Roleresource.hbm.xml
3、maven的所有配置,也即pom.xml的所有内容。各个部分的内容见注释。
4.0.0
JSH
JSH
0.0.1-SNAPSHOT
war
JSH
com.sun.jersey.contribs
jersey-spring
1.18.1
org.springframework
spring-aop
org.springframework
spring-context
org.springframework
spring-beans
org.springframework
spring-core
spring-web
org.springframework
org.springframework
spring-context
4.1.1.RELEASE
org.springframework
spring-web
4.1.1.RELEASE
com.sun.jersey
jersey-core
1.18.1
org.springframework
spring-orm
4.1.1.RELEASE
org.hibernate
hibernate-core
4.1.6.Final
javax
javaee-web-api
7.0
provided
org.apache.commons
commons-dbcp2
2.0.1
org.slf4j
slf4j-log4j12
1.7.7
org.apache.httpcomponents
httpclient
4.4-beta1
UTF-8
src
src
**/*.java
maven-compiler-plugin
2.3.2
1.6
1.6
maven-war-plugin
2.2
${basedir}/WebRoot
3.0
false
Spring的配置
Spring整合Jersey
jersey-spring
com.sun.jersey.spi.spring.container.servlet.SpringServlet
com.sun.jersey.config.property.packages
buptsse.xct.webservice
jersey-spring
/rs/*
Spring整合Hibernate
整合过程中遇到的问题和解决方法