【发布时间】:2015-01-06 18:35:21
【问题描述】:
我正在创建基于 spring/jersey 的 rest API,我的应用程序返回 404。我知道有很多类似的帖子,我尝试了解决方案,但我的情况有点不同,当我只创建一个类时, app1.class,并指定路径(“/”),它可以工作,但是当我添加另一个类并指定另一个路径,即app 1的子路径(/v1.0/app/request)时,也可以.但是当我添加另一个类app3.class时,它有路径(/v1.0/app/response),然后,当我编译war并将其放入容器tomcat 7中时,它就不起作用了。无法访问任何定义的路径。
所有资源类都在包 com.example.restservice 中。
我的 web.xml 如下所示:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="3.0" 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_3_0.xsd">
<display-name>publishing-service</display-name>
<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>jersey-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.example.restservice</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
我刚刚查看了apache的日志,可能发现了问题。我在applicationContext.xml中定义了一个bean,as和我使用annocation@autowired创建实例,但是tomcat未能实例化这个bean,它找不到com.example.validationserviceImpl,它不是本地类,而是在一个pom.xml 中定义的依赖项。如何定义 jar 中的 bean?
【问题讨论】:
标签: java spring rest tomcat jersey