首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Boot控制器重定向至/template jsp页面无法工作

在Spring Boot中,默认情况下不支持JSP作为视图模板引擎,因为Spring Boot更倾向于使用Thymeleaf、Freemarker等现代模板引擎。然而,如果你确实需要使用JSP,可以通过一些配置来实现。

以下是一个完整的示例,演示如何在Spring Boot中使用JSP,并实现控制器重定向到JSP页面。

1. 创建Spring Boot项目

首先,创建一个新的Spring Boot项目。你可以使用Spring Initializr来生成项目结构。

2. 添加依赖

pom.xml 文件中添加JSP相关的依赖:

代码语言:javascript
复制
<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- JSP support -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
</dependencies>

3. 配置JSP视图解析器

src/main/resources/application.properties 文件中添加以下配置:

代码语言:javascript
复制
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

4. 创建JSP页面

src/main/webapp/WEB-INF/jsp/ 目录下创建一个名为 example.jsp 的文件:

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Example JSP Page</title>
</head>
<body>
    <h1>Hello, this is an example JSP page!</h1>
</body>
</html>

5. 创建控制器

src/main/java/com/example/demo/ 目录下创建一个控制器类:

代码语言:javascript
复制
package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ExampleController {

    @GetMapping("/redirect")
    public String redirect() {
        return "redirect:/example";
    }

    @RequestMapping("/example")
    public String example() {
        return "example";
    }
}

在这个示例中,/redirect 路径会重定向到 /example,而 /example 路径会返回 example.jsp 页面。

6. 运行应用

运行Spring Boot应用,你可以在浏览器中访问 http://localhost:8080/redirect,它会重定向到 http://localhost:8080/example 并显示 example.jsp 页面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

老师问我 Spring MVC 的工作流程

时隔一个月,让大家久等了 Spring Boot整合JustAuth,实现第三方登录 SpringBoot-Vue 前后端分离开发 微服务架构之Spring Cloud入门 微服务架构之Spring Cloud...Spring MVC概述 2. 第一个Spring MVC应用 3. Spring MVC的工作流程(重点!!!)...如果校验不能通过,那么就会重定向到输入表单。 支持国际化。可以根据用户区域显示多国语言。 支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。...Spring MVC的工作流程(重点!!!) Spring MVC是如何工作的呢?(面试高频) “通过入门案例的学习,相信读者对Spring MVC的使用已经有了一个初步的了解。...在实际开发中,我们的实际工作主要集中在控制器和视图页面上,但Spring MVC内部完成了很多工作,这些程序在项目中具体是怎么执行的呢?

23020

计算机毕业设计答辩慌?软工本科 Java EE 毕设项目答辩问题、答案汇总指南奉上

session(HttpSession):即 HttpSession 类的对象,不是每个 JSP 页面中都可以使用,如果在某个 JSP 页面中设置,说明这个页面不能使用...前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(JSP),其实就是将 ModelAndView 对象中存放视图的名称进行查找,找到对应的页面形成视图对象...代码如下: window.setInterval("slide_photos()",2000); 7.11、重定向和转发的区别? 问:页面跳转采用技术是哪个?重定向还是内部跳转,简述两者区别?...请求的次数的不同,重定向总共请求了两次服务器;转发则是用户请求一次可能经过n个jsp页面由返回到用户浏览器中,是一次请求多次处理的过程。...跳转过程中链接的变化,重定向在跳转中请求了两次服务器并且是两次不同的链接地址,在浏览器的地址栏可以看到两次是有变化的;转发在跳转过程中浏览器请求了一次服务器,服务器经过了 n 个 jsp 页面并没有改变请求的链接地址

2.1K20

毕业设计答辩慌?不怕!软工本科 Java EE 毕设项目答辩问题、答案汇总指南!

session(HttpSession):即 HttpSession 类的对象,不是每个 JSP 页面中都可以使用,如果在某个 JSP 页面中设置,说明这个页面不能使用...前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(JSP),其实就是将 ModelAndView 对象中存放视图的名称进行查找,找到对应的页面形成视图对象...代码如下: window.setInterval("slide_photos()",2000); 7.11、重定向和转发的区别? 问:页面跳转采用技术是哪个?重定向还是内部跳转,简述两者区别?...请求的次数的不同,重定向总共请求了两次服务器;转发则是用户请求一次可能经过n个jsp页面由返回到用户浏览器中,是一次请求多次处理的过程。...跳转过程中链接的变化,重定向在跳转中请求了两次服务器并且是两次不同的链接地址,在浏览器的地址栏可以看到两次是有变化的;转发在跳转过程中浏览器请求了一次服务器,服务器经过了n个jsp页面并没有改变请求的链接地址

4.4K50

Thymeleaf从入门到清晰使用

模板引擎: 前端交给我们的页面,是html页面,如果是以前开发,我们需要把他们转成jsp页面jsp的好处是当我们查出一些数据转发给jsp页面后,我们可以使用jsp实现数据的显示,及交互等。...jsp支持非常强大的功能,包括能写Java代码。这其中的jsp也是模板引擎,模板引擎的功能就类似我们的会议室开会一样开箱即用,将模板设计好之后直接填充数据即可而不需要重新设计整个页面。...web依赖以及Template 模块的Thymeleaf依赖,参见上图,如果没有勾选这个依赖,也可以拷贝下面的代码 org.springframework.boot... org.springframework.boot spring-boot-starter-web...the template exists before rendering it. spring.thymeleaf.check-template-location=true # Whether to

91040

Spring MVC面试题(2020最新版)

Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决? 工作原理 请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?...与Struts2区别 Spring MVC怎么样设定重定向和转发的?...Spring MVC的优点 (1)可以支持各种视图技术,而不仅仅局限于JSP; (2)与Spring框架集成(如IoC容器、AOP等); (3)清晰的角色分配:前端控制器(dispatcherServlet...答:是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。 工作原理 请描述Spring MVC的工作流程?...模型(model)-视图(view)-控制器(controller),三层架构的设计模式。用于实现前端页面的展现与后端业务数据处理的分离。

1.9K10

SpringMvc基础知识

Spring Web MVC也是服务到工作者模式的实现,但进行可优化。...前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为...√提供强大的约定大于配置的契约式编程支持; √能简单的进行Web层的单元测试; √支持灵活的URL到页面控制器的映射; √非常容易与其他视图技术集成,如Velocity、Thymeleaf、FreeMarker...、 DispatcherServlet——>HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器... spring-boot-starter-web 3.在使用方法前加入@Controller 控制器注解

49530

Spring MVC面试题(2020最新版)

工作原理 请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程? MVC框架 MVC是什么?...与Struts2区别 Spring MVC怎么样设定重定向和转发的?...Spring MVC的优点 (1)可以支持各种视图技术,而不仅仅局限于JSP; (2)与Spring框架集成(如IoC容器、AOP等); (3)清晰的角色分配:前端控制器(dispatcherServlet...答:是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。 工作原理 请描述Spring MVC的工作流程?...模型(model)-视图(view)-控制器(controller),三层架构的设计模式。用于实现前端页面的展现与后端业务数据处理的分离。

60920

2022年Java秋招面试必看的 | Spring MVC面试题

、微服务、Linux、Spring BootSpring Cloud、RabbitMQ、kafka等16个专题技术点,都是小编在今年金三银四总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的...2、Spring MVC的优点 (1)可以支持各种视图技术,而不仅仅局限于JSP; (2)与Spring框架集成(如IoC容器、AOP等); (3)清晰的角色分配:前端控制器(dispatcherServlet...答:是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。 三.工作原理 7、请描述Spring MVC的工作流程?...六.其他 16、Spring MVC与Struts2区别: 图片 17、Spring MVC怎么样设定重定向和转发的? 图片 18、Spring MVC怎么和AJAX相互调用的?...图片 20、Spring MVC的异常处理? 答:可以将异常抛给Spring框架,由Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器中添视图页面即可。

78130

SpringMVC的组件解析

SpringMVC的执行流程 [在这里插入图片描述] 用户发送请求前端控制器DispatcherServlet。...DispatcherServlet根据View进行渲染视图(即将模型数据填充视图中)。DispatcherServlet响应用户。 2....最常用的视图就是 jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。 3....组件扫描 SpringMVC基于Spring容器,所以在进行SpringMVC操作时,需要将Controller存储到Spring容器中,如果使用@Controller注解标注的话,就需要使用 <context...redirect,访问的时候直接重定向到 success.jsp 页面 [在这里插入图片描述] [在这里插入图片描述] 视图解析器,可以通过属性注入的方式修改视图的的前后缀 [在这里插入图片描述] 把success.jsp

28920

freemarker+yml介绍 以及freemarker与JSP的区别

使用即可) ​编辑     2.4 访问控制器后进行页面跳转       3. freemarker常用语法   3.1 取值    3.2 条件    3.3 循环    3.4 include    ...但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。 2、宏定义比jsp tag方便 3、内置大量常用功能。...         spring-boot-starter-freemarker         2.2...    static-path-pattern: /static/**   2.3 编写模板文件*.ftl(当做jsp使用即可)   2.4 访问控制器后进行页面跳转 3. freemarker...但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。 2、宏定义比jsp tag方便 3、内置大量常用功能。

1.5K40

快速学习-视图解析

第6章 视图解析 6.1 SpringMVC如何解析视图概述 不论控制器返回一个String,ModelAndView,View都会转换为ModelAndView对象,由视图解析器解析视图,然后,进行页面的跳转...,处理器并不关心,处理器工作重点聚焦在生产模型数据的工作上,从而实现 MVC 的充分解耦 6.3 视图 视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客户,主要就是完成转发或者是重定向的操作....: 当成指示符,其后的字符串作为 URL 来处理 ③ redirect:success.jsp:会完成一个到 success.jsp重定向的操作 ④ forward:success.jsp:会完成一个到...success.jsp 的转发操作 定义页面链接 testRedirect 定义控制器方法 @RequestMapping("..."; //return "forward:/index.jsp"; } 源码分析:重定向原理 ?

56110
领券