我正在使用 spring 3.2.3.RELEASE 版本和 tomcat 7。我想使用 spring 框架构建一个示例 REST API。我的 web.xml 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
<context-param>
<param-name>contextConfiguration</param-name>
<param-value>/WEB-INF/sample-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>sample-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sample</servlet-name>
<url-pattern>/myProjects</url-pattern>
</servlet-mapping>
我的 sample-servlet.xml 看起来像这样:
<beans>
<context:component-scan base-package="com.myprojects.sampleproject" />
</beans>
基本上我不想要任何 JSP 文件,因为我只想从控制器返回字符串(JSON 字符串)。我的控制器看起来像这样:
package com.myprojects.sampleproject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
*
* @author author
*/
@Controller
@RequestMapping("/user")
public class sampleprojectController {
@RequestMapping(method = RequestMethod.GET)
public String getHello() {
return "hello world";
}
}
我能够成功创建一个war文件并将其部署在tomcat上。但是当我点击 localhost:8080/myProjects/user 时,我得到 404。我正在使用 maven 构建和部署包。
在我们可以在 netbeans 中配置以创建一个项目来编写 Web 服务之前,我曾在 JAX-RS 上工作过,那时一切都派上了用场。但在这里,我实际上是在尝试将基于 maven 的项目转换为在 tomcat 上运行的 Web 应用程序。为此,我尝试了这个示例,但无法启动并运行它。我错过了什么吗?