终于学会了,SpringBoot整合JSP,建议收藏不然找不到了

简介: 终于学会了,SpringBoot整合JSP,建议收藏不然找不到了

SpringBoot整合JSP,一个经典而且优雅的方案!

步骤 1 pom.xml

<!-- servlet依赖. -->
<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
</dependency>
      <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>jstl</artifactId>
      </dependency>
<!-- tomcat的支持.-->
<dependency>
       <groupId>org.apache.tomcat.embed</groupId>
       <artifactId>tomcat-embed-jasper</artifactId>
</dependency>


添加以上配置,不然没法正确访问到jsp

步骤 2 application.yml

spring:
  jpa:
    database: mysql
    hibernate:
      ddl-auto: update
      show-sql: true
  #资源目录  
  resources:
    static-locations: classpath:static/
  #视图解析器  
  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp

这些配置主要是为了说明资源目录和视图的位置。

启动类

在src下新建一个com包,里面写一个启动类:

56.png


package com;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * SpringBoot启动类
 * @author Administrator
 *
 */
@SpringBootApplication(scanBasePackages = "com")
public class Application {
   public static void main(String[] args) {
       SpringApplication.run(Application.class, args);
   }
}

4. index.jsp写在哪?

项目肯定需要一个欢迎页,我们需要这样的一个目录结构:

57.png

index.jsp里面的内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
</head>
<body>
  恭喜,JSP整合成功!
</body>
</html>

5. 访问控制器

页面有了,下一步就是如何访问这个页面,老规矩,创建Controller

58.png

package com.app.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class IndexController {
  @RequestMapping("/")
  public ModelAndView index(ModelAndView mav){
    mav = new ModelAndView("index");
    return mav;
  }
}

默认访问的就是index.jsp

验证效果

启动项目,访问 http://localhost

59.png

附录: Jsp中获得项目根路径的方式

1.可以使用EL表达式:${pageContext.request.contextPath}

这种方式是的取到pageContext对象,然后在得到HttpServletRequest对象,最后再拿到contextPath。


2.可以采用JSP的形式来表示:


<%=request.getContextPath()%>

3.jstl set自定义标签

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="basePath" value="${pageContext.request.contextPath}"></c:set>

上面3种方式都是可以的,我们以第三种方式为例。

更新index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="basePath" value="${pageContext.request.contextPath}"></c:set>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
</head>
<body>
  恭喜,JSP整合成功! ${basePath}
</body>
</html>

修改application.yml

server:
  port: 80
  context-path: /app

意思就是修改项目根目录为app。

重启,访问 http://localhost/app

相关文章
|
2月前
|
Java 数据库连接 mybatis
springboot访问jsp页面变成直接下载?
springboot访问jsp页面变成直接下载?
48 0
|
Java 应用服务中间件
SpringBoot集成使用jsp(超详细)
SpringBoot集成使用jsp(超详细)
SpringBoot集成使用jsp(超详细)
|
5月前
|
人工智能 前端开发 JavaScript
基于Springboot+JSP社区志愿者管理平台
本项目基于Springboot+JSP开发实现一个前后端分离的社区志愿者管理平台系统。前端用户注册登录后可以查看相关活动信息、培训信息、新闻咨询信息等,并申请参与活动和参加志愿者的培训活动,在线在线论坛的讨论,在个人中心处可以查看自己参与的活动和培训。后台管理员主要管理人员信息、活动信息、培训信息、资讯信息、留言信息和轮播图信息等,具体参看下面系统功能展示。
|
9月前
|
XML 前端开发 JavaScript
SpringBoot接手JSP项目–【JSB项目实战】
SpringBoot接手JSP项目–【JSB项目实战】 CSDN 转过来的,所以格式与内容有些许错误请见谅
SpringBoot接手JSP项目–【JSB项目实战】
|
10月前
|
Java 开发工具
SpringBoot整合JSP
SpringBoot整合JSP
40 0
|
11月前
|
Java Maven
springboot集成jsp的Demo实现
1.创建一个maven web项目 2.添加springboot和jsp相关依赖
springboot集成jsp的Demo实现
|
前端开发 Java Maven
springboot整合jsp快速搭建增删改查的学生管理系统
springboot整合jsp快速搭建增删改查的学生管理系统
191 0
IDEA版SpringBoot全教程 04 整合JSP
IDEA版SpringBoot全教程 04 整合JSP
|
Java Maven
SpringBoot项目访问WEB-INF下的jsp页面
SpringBoot项目访问WEB-INF下的jsp页面
251 0
SpringBoot项目访问WEB-INF下的jsp页面
|
druid Java 数据库连接
SSM老项目修改为SpringBoot项目(springboot与jsp整合)
SSM老项目修改为SpringBoot项目(springboot与jsp整合)
366 0
SSM老项目修改为SpringBoot项目(springboot与jsp整合)