带有多个调度程序Servlet的InternalResourceViewResolver

时间:2018-12-08 14:48:36

标签: java spring spring-mvc

我是spring-mvc的初学者,正在尝试学习它。已经搜索了类似问题,但找不到。

出于好奇,我正在尝试以下操作。

我已经创建了两个不同的调度程序servlet,它们具有如下所示的两个不同的映射

<servlet-mapping>
    <servlet-name>dispatcher1</servlet-name>
    <url-pattern>/url1/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>dispatcher2</servlet-name>
    <url-pattern>/url2/*</url-pattern>
</servlet-mapping>

当我调用MyApp / url1 / input时,将调用下面的控制器。

@GetMapping(path="/input")
public String showInputPage() {
    return "input-form";
}

我的问题是,当InternalResourceViewResolver尝试查找“输入表单”时,它转到MyApp / url1 /WEB-INF/input-form.jsp。但我希望它查找MyApp / WEB-INF / input-form.jsp,因为仅存在实际文件。

有人可以让我知道这是否可行吗?如果是,那怎么办?

1 个答案:

答案 0 :(得分:0)

再次从头开始编写所有内容后,我意识到问题出在我声明的InternalResourceViewResolver上。在WEB-INF之前缺少“ /”开头。我在它之前添加了“ /”,它开始正常工作。

旧代码:

resolver.setPrefix("WEB-INF/views/");

新代码:

resolver.setPrefix("/WEB-INF/views/");