我有一个非常基本的设置,我正在尝试开始工作。
web.xml
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/site/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
mvc-调度程序-servlet.xml
<context:component-scan base-package="com.blabla.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/pages/" p:suffix=".jsp"
p:viewClass="org.springframework.web.servlet.view.JstlView" />
在控制器中
@Controller
@RequestMapping(value = "/site")
public class SearchController {
@RequestMapping(value = "welcome", method = RequestMethod.GET)
public String test() {
return "test";
}
这是我遇到的问题:我想在我的 web.xml 中将/site/*写为 url-pattern,但是当我这样做时,我得到了
警告:在名称为“mvc-dispatcher”的 DispatcherServlet 中未找到带有 URI [/site/welcome] 的 HTTP 请求的映射
当我完整编写/site/welcome时,一切正常,但我不想这样做,因为我不想手动将每个页面添加到 web.xml
当我将 “/ *”写 为 url-pattern 时,我收到错误消息:
WARNING: No mapping found for HTTP request with URI [/WEB-INF/pages/test.jsp] in DispatcherServlet with name 'mvc-dispatcher'
我想这是有道理的,因为 jsp 的位置包含在模式中。
那么你是怎么做的:如果没有我刚才遇到的问题,你怎么能在你的 url 模式中足够模糊呢?