spring-mvc - SpringMVC 中的 InternalResourceViewResolver

标签 spring-mvc tomcat intellij-idea

今天遇到一个关于spring mvc InternalResourceViewResolver的问题。老实说,这是项目结构:
enter image description here

这是我的代码片段:
InternalResourceResolver has something wrong

可能stack在list block代码上有问题,我把截图放在这里。第一次写viewResolver.setPrefix("/")。然后我写了一个简单的 Controller ,它有一个方法索引,其映射是索引并返回字符序列“索引”,在我看来输入 http://localhost:8080/ProjectName/index 应该返回一个 index.jsp 页面,实际上是一个404页面,所以我认为之前关于internalResourceViewResolver的代码肯定有问题。 我已经在 STS 上实现了它,代码是这样写的: viewResover.setPrefix("/WEB-INF/classes/views/") 我知道这个文件夹在 projectName 文件夹下内容是那些运行时的jsp输出文件,但是当我换成IntelliJ Idea这个IDE的时候。我发现有一个“out”文件夹充当项目的输出文件夹,您也可以从第一张图片中看到。
说了那么多中间过程,有没有人能告诉我setPrefix方法的参数应该怎么写,谢谢。 更新:
我将我的应用程序上下文部署为“hello”,但这似乎不适用于我的问题。 好的,这是 Controller 。

@Controller
public class HelloController {
    @RequestMapping("/index")
    public String hello(){
        return "index";
    }
}

最佳答案

根据您的项目结构,viewResolver.setPrefix("/")是正确的。您能否在映射了 URL 的地方分享您的 Controller 的详细信息?映射到 URL“/index”的函数应返回名称为“index”的 ModelAndView。

相反,如果您只想将 index.jsp 页面加载为主页,请将此代码段添加到您的 web.xml 文件中:

<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>

现在,http://localhost:8080/ProjectName/应打开您的 index.jsp View 。

关于spring-mvc - SpringMVC 中的 InternalResourceViewResolver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39128068/

相关文章:

spring - 将@CookieValue、@RequestHeader等映射到Spring Controller中的POJO

java - 在 Spring MVC 中更改过滤器类中的语言环境

windows - Tomcat 8 系统托盘图标

java - 在第一个jsp程序上使用eclipse设置tomcat

ubuntu - 如何在 Ubuntu 上的 PhpStorm 中使用 PHP 代码中的引号

java - Spring MVC @Controller 的处理程序方法的参数如何在运行时自动解析?

java - Thymeleaf:如何将按钮链接到另一个 html 页面?

tomcat - 测试 Tomcat 的 JDBC 池连接

git - 使用 IntelliJ IDEA 从 git 存储库恢复文件

java - 如何在 IntelliJ IDEA 中显示标题 HTML 格式?