1.新建springboot项目,选择以war包的方式package;
2.勾选Web模块,DevTools可不选(用作热部署,不影响运行)
3.创建完成后,项目结构如下图:
4.pom.xml文件中添加jsp的依赖
<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>
5.在application.properties文件中添加以下内容:
.yml 文件配置如下:
spring:
mvc:
view:
prefix: /WEB-INF/test/
suffix: .jsp
6.新建index.jsp文件,路径结构如图:
7.index.jsp页面内容如下:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>登录</title> <link rel="stylesheet" href="<%=request.getContextPath() %>/css/signin.css"> <link rel="stylesheet" href="<%=request.getContextPath() %>/css/bootstrap.min.css"> <style type="text/css"> body { padding-top: 50px; }
</span><span class="hljs-selector-class"><span class="css"><span class="hljs-selector-class">.starter-template</span> {
</span><span class="hljs-attribute"><span class="css"><span class="hljs-attribute">padding</span>: </span><span class="hljs-number"><span class="css"><span class="hljs-number">40px</span> </span><span class="hljs-number"><span class="css"><span class="hljs-number">15px</span>;
</span><span class="hljs-attribute"><span class="css"><span class="hljs-attribute">text-align</span>: center;
}
</span><span class="hljs-tag"><span class="hljs-tag"></</span><span class="hljs-name"><span class="hljs-tag"><span class="hljs-name">style</span>></span>
</head>
<body>
<nav class=“navbar navbar-inverse navbar-fixed-top”>
<div class=“container”>
<div class=“navbar-header”>
<a class=“navbar-brand” href="#">Spring Boot+JSP</a>
</div>
<div id=“navbar” class=“collapse navbar-collapse”>
<ul class=“nav navbar-nav”>
</ul>
</div>
</div>
</nav>
<div class=“container”>
<div class=“starter-template”>
<h2>登录</h2>
<form class=“form-signin” role=“form” name=“form” action="/login" method=“post”>
<div class=“form-group”>
<label for=“username”>用户名</label>
<input type=“text” class=“form-control” name=“username” value="" placeholder=“用户名”/>
</div>
<div class=“form-group”>
<label for=“password”>密码</label>
<input type=“password” class=“form-control” name=“password” placeholder=“密码”/>
</div>
<input type=“submit” id=“login” value=“Login” class=“btn btn-primary”/>
</form>
</div>
</div>
</body>
</html>
8.引入css文件,这个不影响效果,只是index.jsp的页面会不好看
9.新建IndexController.java
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping("/index")
public String index() {
return “index”;
}
}
如果想使用restcontroller注解,需要以下处理
@GetMapping("/order")
public ModelAndView toPayJsp() {
// return
// "pay_wx";//@RestController注解含有@ResponseBody注解,结果pay_wx没有经过视图解析器解析直接变成json字符串返回给浏览器了
ModelAndView mv = new ModelAndView("pay_wx");
return mv;
}
10.启动服务,访问localhost:8080/index 即可访问index.jsp成功