亲爱的利他主义者,
我正在尝试运行Spring Web MVC HelloWeb项目,但它始终显示“请求的资源不可用”错误。 你能帮我解决这个问题吗?
项目结构:
web.xml文件:
HelloWeb-servlet.xml文件:
HelloController.java文件:
答案 0 :(得分:0)
根据错误消息,您似乎没有在Tomcat中定义上下文。
将名为context.xml的文件包含在META-INF文件夹中,其内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/HelloWeb"/>
来自tomcat文档:
Tomcat Context Container Documentation
可以明确定义单个上下文元素:
在应用程序内的/META-INF/context.xml中的单个文件中 文件。可选地(基于主机的copyXML属性),这可以是 复制到$ CATALINA_BASE / conf / [enginename] / [hostname] /并重命名为 应用程序的基本文件名加上&#34; .xml&#34;扩展
此外,返回一个ModelView对象而不是String,以重定向到home.jsp页面。
@RequestMapping(method = RequestMethod.GET)
protected ModelAndView printHello(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("hello");
return model;
}
答案 1 :(得分:0)
像这样替换你的bean标签。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">