spring boot如何支持jsp

飞飞 其他 14

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring Boot默认不支持JSP(JavaServer Pages),但仍然可以通过一些配置来让Spring Boot支持JSP。

    首先,确保在项目的pom.xml文件中添加以下依赖:

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <version>9.0.52</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    

    接下来,需要在application.properties文件中进行配置:

    # 指定JSP文件的目录
    spring.mvc.view.prefix=/WEB-INF/jsp/
    # 指定JSP文件的后缀
    spring.mvc.view.suffix=.jsp
    # 禁用JSP的缓存,方便调试
    spring.mvc.view.expose-request-attributes=true
    spring.mvc.view.expose-session-attributes=true
    spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
    

    然后,创建一个@Controller类,用于处理请求:

    @Controller
    public class JspController {
    
        @RequestMapping("/hello")
        public String hello(Model model) {
            model.addAttribute("message", "Hello JSP");
            return "hello";
        }
    }
    

    接着,在webapp/WEB-INF/jsp目录下创建一个hello.jsp文件:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Hello JSP</title>
    </head>
    <body>
        <h1>${message}</h1>
    </body>
    </html>
    

    最后,运行Spring Boot应用程序并访问http://localhost:8080/hello,即可看到JSP页面显示"Hello JSP"。

    需要注意的是,Spring Boot推荐使用模板引擎(如Thymeleaf、Freemarker)来替代JSP,因为JSP在一些最新的Servlet容器中可能不被支持或不被推荐使用。

    6个月前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring Boot 默认是不支持 JSP 的,但是可以通过一些配置来实现对 JSP 的支持。
    以下是实现 Spring Boot 对 JSP 的支持的步骤:

    1. 添加 Maven 依赖:
      在 pom.xml 文件中添加以下依赖项:
    <dependencies>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
    </dependencies>
    

    这些依赖项可以使 Spring Boot 集成 Apache Tomcat,并且添加对 JSTL(JSP 标准标记库)的支持。

    1. 配置视图解析器:
      在 application.properties(或 application.yml)文件中添加以下配置:
    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    

    这里指定了 JSP 文件的前缀和后缀。

    1. 创建 JSP 页面:
      在 src/main/webapp/WEB-INF/jsp/ 目录下创建 JSP 页面。可以使用任何 JSP 支持的语法和标签。

    2. 创建控制器:
      在 Spring Boot 的控制器中,使用 @Controller 注解指定该类是一个控制器,并使用 @RequestMapping 注解指定请求的 URL。
      例如:

    @Controller
    public class HomeController {
        
        @RequestMapping("/")
        public String home() {
            return "home"; // 返回对应的 JSP 页面名称
        }
    }
    

    在上述例子中,当访问根路径("/")时,将会返回名为 "home" 的 JSP 页面。

    1. 运行应用程序:
      使用 main 方法运行 Spring Boot 应用程序。访问指定的 URL(根据控制器中的 @RequestMapping 注解),将会自动解析并显示 JSP 页面。

    需要注意的是,Spring Boot 的内嵌 Tomcat 容器使用的是嵌入式的 JSP 引擎 Jasper,而不是传统的 JSP 容器。因此,我们需要将 tomcat-embed-jasper 设置为 provided scope,以避免打包进 WAR 文件中。而 jstl 依赖则提供了 JSTL 标签库的支持。

    另外,还需要确保在 src/main/webapp 目录下创建 WEB-INF 目录,并将 JSP 页面放置在其中。这是因为 JSP 规范要求 WEB-INF 目录内的内容不能直接访问,只能通过控制器间接访问。

    综上所述,以上就是在 Spring Boot 中实现对 JSP 的支持的步骤。通过配置视图解析器和创建相应的控制器,即可在 Spring Boot 项目中使用 JSP 页面。

    6个月前 0条评论
  • 飞飞的头像
    飞飞
    Worktile&PingCode市场小伙伴
    评论

    Spring Boot是一个开源的Java框架,旨在简化Java应用程序的开发。虽然Spring Boot本身不直接支持JSP(JavaServer Pages),但我们可以通过配置和引入其他的依赖来启用JSP支持。

    下面是一些步骤来启用Spring Boot对JSP的支持:

    1. 引入相关依赖:
      在您的Spring Boot项目的pom.xml文件中,添加以下依赖:
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    

    这些依赖会将Apache Tomcat的Jasper引擎和JSTL(JavaServer Pages标准标签库)添加到项目中。

    1. 配置视图解析器:
      在您的Spring Boot项目的application.properties或application.yml文件中,添加以下配置:
    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    

    这些配置将告诉Spring Boot查找以.jsp为后缀的文件,并将它们解析为JSP视图。

    1. 创建JSP文件:
      在src/main/webapp/WEB-INF/jsp/目录下创建你的JSP文件。

    2. 创建控制器:
      在您的Spring Boot应用程序中创建一个控制器类,用于处理和返回JSP视图。

    @Controller
    public class JspController {
        @GetMapping("/jsp")
        public String jspPage() {
            return "page";
        }
    }
    

    这是一个简单的示例,当访问/jsp路径时,将返回名为"page"的JSP视图。

    1. 运行应用程序:
      编译和运行您的Spring Boot应用程序。您可以使用mvn命令或您喜欢的IDE来完成。

    现在,您可以通过访问http://localhost:8080/jsp来查看您的JSP页面。

    总结:
    尽管Spring Boot默认不支持JSP,但我们可以通过配置和引入相关依赖来启用JSP支持。配置视图解析器和创建JSP文件之后,我们可以使用控制器类来处理和返回JSP视图。

    6个月前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部