首页 > 其他分享 >IDEA版SpringBoot全教程 04 整合JSP

IDEA版SpringBoot全教程 04 整合JSP

时间:2022-10-31 12:01:02浏览次数:51  
标签:index SpringBoot 04 IDEA springframework jsp import org servlet


<!-- 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

 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包,里面写一个启动类:

IDEA版SpringBoot全教程 04 整合JSP_java

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);
}

}

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

IDEA版SpringBoot全教程 04 整合JSP_intellij-idea_02

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>

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

IDEA版SpringBoot全教程 04 整合JSP_intellij-idea_03

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

IDEA版SpringBoot全教程 04 整合JSP_java_04

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

IDEA版SpringBoot全教程 04 整合JSP_spring_05

 

 

标签:index,SpringBoot,04,IDEA,springframework,jsp,import,org,servlet
From: https://blog.51cto.com/u_10957019/5809011

相关文章