WEB-INF/folder/.jsp给出404

zbsbpyhn  于 2023-04-18  发布在  其他
关注(0)|答案(3)|浏览(134)

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

krcsximq

krcsximq1#

您不能直接访问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";
    }
}

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

yvgpqqbh

yvgpqqbh2#

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

ej83mcc0

ej83mcc03#

在我的例子中,它是路由需要前缀/
错误404:

@Result(name = "test", location="result.jsp")

工作无错误:

@Result(name = "test", location="/result.jsp")

相关问题