代码hello.jsp跳转至index.jsp
时间: 2024-10-17 20:02:30 浏览: 29
在Spring Boot中,由于其设计初衷是避免MVC架构中的遗留技术(如JSP),所以直接通过URL访问JSP文件通常是不会自动工作的。要实现从`hello.jsp`跳转到`index.jsp`,你需要采取一些额外的步骤[^1]:
1. **添加静态资源映射**:如果`hello.jsp`和`index.jsp`位于项目的Web-INF目录下的static或resources目录,你可以修改`SpringBootApplication`类中的`WebMvcConfigurer`接口实现,手动注册静态资源处理器以暴露这些文件。例如:
```java
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/jsp/**").addResourceLocations("classpath:/WEB-INF/jsp/");
}
```
2. **使用Thymeleaf或FreeMarker等模板引擎**:如果你想继续使用JSP,可以考虑引入模板引擎,如Thymeleaf,然后在控制器中设置视图解析路径。例如,在Thymeleaf中,你可以在`application.properties`中添加配置并定义模板路径:
```
thymeleaf.prefix=classpath:/templates/
thymeleaf.suffix=.html
```
然后在控制器中,将JSP转换为HTML:
```java
@GetMapping("/hello")
public String hello(@PathVariable String viewName) {
return "redirect:" + viewName;
}
```
3. **URL模式更改**:如果JSP不在`WEB-INF`中,而是放在其他地方,可能需要调整URL映射。比如,如果你有一个`/views`的前端资源路径,可以尝试使用`/views/hello.jsp`。
请确保在执行以上操作时重启你的应用程序,以便配置生效。如果你仍然遇到404错误,检查你的浏览器缓存,清理并刷新页面。
阅读全文