0

我有一个非常基本的设置,我正在尝试开始工作。

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 模式中足够模糊呢?

4

0 回答 0