Java 启动时未找到Spring MVC资源
所以我知道有很多类似的帖子,但不幸的是,这些帖子都没有帮到我。我只是想让一个演示SpringMVC项目启动并运行。我正在尝试运行Heroku()提供的模板项目。我尝试了许多设置组合,但都没有效果。以下是默认设置: web.xml:Java 启动时未找到Spring MVC资源,java,spring,spring-mvc,Java,Spring,Spring Mvc,所以我知道有很多类似的帖子,但不幸的是,这些帖子都没有帮到我。我只是想让一个演示SpringMVC项目启动并运行。我正在尝试运行Heroku()提供的模板项目。我尝试了许多设置组合,但都没有效果。以下是默认设置: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Spring-Hibernate-Template</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/people/*</url-pattern>
</servlet-mapping>
</web-app>
我通过eclipse在Ubuntu上运行这个。我注意到没有.war被复制到/usr/share/tomcat7/webapps
目录。这应该发生吗
有什么想法吗?我认为您需要在
列表人员方法中指定method=RequestMethod.GET
。可能有许多小事情会导致404错误
。你能把这段代码上传到GitHub上吗?我会查一查。试着检查两件事
首先更改web.xml文件,将dispatcher servlet映射到/
。这导致在找不到请求的其他映射而不是每个请求的映射时使用DispatcherServlet。如果您有CSS和Javascript等资源,这一点很重要
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/people/*</url-pattern>
</servlet-mapping>
春天
/人/*
接下来,如果使用Eclipse,请打开项目属性(在项目浏览器中单击project,Alt+Enter)。然后转到部署程序集。确保所有项目资源都包含在这里,特别是任何maven依赖项。如果注意到缺少依赖项,请单击“添加”按钮并选择它们
您可能还希望确保通过组件扫描拾取控制器。确保您的控制器位于com.example
包中。首先,我注意到在applicationContext.xml中,xml文件末尾有两个结束bean标记。@blackpanther还有两个开始bean标记。@Kevin Bowersox是,我正在使用maven。@JeremyG您的maven依赖项是否包含在部署程序集中?控制器在正确的包中。依赖项将添加到部署程序集中。我将url模式更改为/但不幸的是没有更改。事实上,依赖项没有添加到程序集。谢谢你的建议。在将它们添加到程序集中之后,我继续得到一些错误,但是下载m2eclipse错误清除了这些错误。
@Controller
public class PersonController {
@Autowired
private PersonService personService;
@RequestMapping("/")
public String listPeople(Map<String, Object> map) {
map.put("person", new Person());
map.put("peopleList", personService.listPeople());
return "people";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addPerson(@ModelAttribute("person") Person person, BindingResult result) {
personService.addPerson(person);
return "redirect:/people/";
}
@RequestMapping("/delete/{personId}")
public String deletePerson(@PathVariable("personId") Integer personId) {
personService.removePerson(personId);
return "redirect:/people/";
}
}
<Context docBase="facultypublicationsdb" path="/facultypublicationsdb" reloadable="true" source="org.eclipse.jst.jee.server:facultypublicationsdb"/></Host>
HTTP Status 404 - /facultypublicationsdb/
type Status report
message /facultypublicationsdb/
description The requested resource (/facultypublicationsdb/) is not available.
Apache Tomcat/7.0.21
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/people/*</url-pattern>
</servlet-mapping>