【发布时间】:2016-10-15 10:14:42
【问题描述】:
- WelcomeController 所在的包名称控制器
- WEB-INF 中存在视图文件的文件夹视图表示 html 和静态 jsp
- 查看welcome.jsp
- 在 WebContent 中有 web.xml 和 welcome-servlet.xml
当我映射 / 但是当我更改 url-pattern 时它不起作用,例如/user/* 以下网址仅适用于 /
错误是
警告:找不到带有 URI 的 HTTP 请求的映射 [/SpringPractice/user/welcome] 在 DispatcherServlet 中带有名称 “欢迎”
如果我将它设置为 /,它就可以工作。 即使我检查了控制器也没有错误,因为如果没有找到映射,那么它不适用于 / 模式。
WEB.XML
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>welcome</servlet-name>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
WelcomeController.java
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class WelcomeController {
@RequestMapping(method=RequestMethod.GET,value="/user/welcome")
public String GET(ModelMap model){
//second is the message name
//3rd is the message
model.addAttribute("message","GET Method");
return "welcome"; //we'll always return the name of the view here welcome.jsp e.g. welcome
}
@RequestMapping(method=RequestMethod.POST,value="/user/welcome")
public String POST(ModelMap model){
model.addAttribute("message","POST Method");
return "welcome";
}
}
welcome-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
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-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="controller" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/view/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
【问题讨论】:
-
这是关于 DispatcherServlet slurping 匹配路径的一部分。尝试仅使用“welcome”值的 RequestMapping。见stackoverflow.com/a/28211981/5032692
标签: spring spring-mvc