【问题标题】:WEB-INF/folder/.jsp gives 404WEB-INF/folder/.jsp 给出 404
【发布时间】:2018-02-04 05:20:51
【问题描述】:

我有一个 spring MVC 项目和一堆 jsp 文件。当我尝试在 WEB-INF/views/ 中访问我的 jsp 文件时,它给了我 404。

截图供参考。

【问题讨论】:

    标签: spring jsp spring-mvc


    【解决方案1】:

    你不能直接访问WEB-INF文件夹内的jsp页面。要访问它,您需要创建 InternalResourceViewResolver bean 来解析您的 jsp 页面的路径:

    @EnableWebMvc
    @Configuration
    public class AppConfig extends WebMvcConfigurerAdapter {
        @Bean
        public InternalResourceViewResolver viewResolver() {
            InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
            internalResourceViewResolver.setPrefix("/WEB-INF/views/");
            internalResourceViewResolver.setSuffix(".jsp");
            return internalResourceViewResolver;
        } 
    

    并且在您的控制器中只返回该 jsp 页面的名称:

    @Controller
    public class EmployeeController {
    
        @RequestMapping(value = "/add/employee", method = RequestMethod.GET)
        public String addEmployee(Model model) {
            return "addEmployee";
        }
    }
    

    现在点击网址:http://localhost:8181/SpringMVC_CRUD/add/employee

    【讨论】:

      【解决方案2】:

      WEB-INF 中的内容不会暴露给公共 URL 空间。您只能从其他文件中包含/访问它。这对于模板等很有用(当然,您的编译代码也驻留在其中)。

      将您的公共 JSP 移到 WEB-INF 之外。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-13
        • 2016-07-03
        • 2010-12-02
        • 1970-01-01
        • 2010-12-14
        相关资源
        最近更新 更多