spring整合jersey的问题

超级呆子 发布于 2016/09/20 18:55
阅读 977
收藏 0



用spring整合jersey的时候,访问到jersey的资源时spring注入的类始终为null,网上说是将jersey的servlet启动类换成spring的,也就是下面这段


<servlet>
		<servlet-name>mytest</servlet-name>
		<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServle</servlet-class>
		<init-param>
			<param-name>com.sun.jersey.config.property.packages</param-name>
			<param-value>com.test.ws</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>mytest</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

这个servlet类

com.sun.jersey.spi.spring.container.servlet.SpringServlet

还是com.sun开头的,maven坐标也找不到,我用的jersey是org.glassfish开头的类

貌似这两种还不兼容,配置后启动仍然报错


加载中
0
pantrick
pantrick

jersey.java.net请去这里下载,谢谢


0
hy86
hy86

你的方式不对。
1.用传统spring加载方式即可:

<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>
    <servlet-name>restServlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.test.ws</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>restServlet</servlet-name>
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

2.引入相关jar包,将jersey实例化工作交给spring容器
jersey-springxxx.jar
spring-bridge-xxx.jar





不见不散123
不见不散123
jersey 2.23 找不到jersey-springxxx.jar,这样配置后依然无法工作
0
小豪哥哥丶
可以试用一下魔方网表
0
啊啊啊啊啊啊啊啊陈
啊啊啊啊啊啊啊啊陈

我想知道jersey的资源注册类是用来干嘛的呢,我不是在xml里面加载了我的这个jersey的资源注册类,就是加载我的jersey资源?

返回顶部
顶部