您的位置:首页 > 编程语言 > Java开发

spring boot学习三:基于jsp的spring mvc示例

2017-12-03 21:10 423 查看
虽然Spring Boot推荐使用Thymeleaf作为模板引擎,但考虑到依然有老项目使用jsp等技术,所以本章先介绍基于jsp的spring mvc搭建。

1、首先,按照第一章的步骤,搭建一个Spring Boot的项目,区别是Packaging选项,选择War,如下图所示



2、默认生成的项目结构中,是没有webapp目录的,因为我们采用的是jsp技术,所以,得手动添加webapp/WEB-INF/jsp目录,并将相应的jsp文件放入该目录中,如下图所示



3、pom.xml文件中,我们需要手动加上jstl和tomcat-embed-jasper的依赖,其中,jstl是由于jsp页面用到了jstl标签库,tomcat-embed-jasper是使内置的tomcat支持解析jsp,pom文件代码如下所示,spring-boot-starter-tomcat是项目生成时自动加好的,注意此处的scope是provided,目的是解决项目导出的war包如果直接在外部Tomcat的部署报错的问题

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

<groupId>com.flagship</groupId>
<artifactId>ch3_1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>ch3_1</name>
<description>Spring mvc based on Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<!--jsp页面使用jstl标签-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

<!--用于编译jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<finalName>ch3_1</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

4、剩下的就很简单,和传统开发spring mvc一样,编写controller,jsp,controller代码如下所示

package com.flagship.ch3_1.controller;

import com.flagship.ch3_1.bean.DataBean;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.ArrayList;
import java.util.List;

@Controller
public class IndexController {
@RequestMapping("/index")
public ModelAndView index(){
List<DataBean> dataLst =new ArrayList<DataBean>();
DataBean data1 = new DataBean("员工人数","0.011","70");
DataBean data2 = new DataBean("当天气温","0.031","80");
DataBean data3 = new DataBean("降雨量","0.051","90");
dataLst.add(data1);
dataLst.add(data2);
dataLst.add(data3);
ModelAndView modelAndView = new ModelAndView("/index");
modelAndView.addObject("dataLst", dataLst);
return modelAndView;
}
}


jsp代码如下所示

<!DOCTYPE html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="utf-8"/>
<title>Spring mvc example</title>
<meta name="description" content="platForm Frameset"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
</head>
<body>
<div>
<div>
<div></div>
<table>
<tr>
<td>影响因素</td>
<td>相关系数</td>
<td>样本数目</td>
</tr>
<c:forEach var="data" items="${dataLst}">
<tr class="text-info">
<td>${data.factor}</td>
<td>${data.coefficient}</td>
<td>${data.number}</td>
</td>
</tr>
</c:forEach>
</table>
</div>
</div>
</body>
</html>
5、可以在application.properties中设置项目相关运行信息,如下所示,注意,需要指定返回文件类型为jsp,且路径是在/WEB-INF/jsp/下,运行的tomcat端口是8080,context路径是ch3_1

server.port=8080
server.contextPath=/ch3_1
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp


6、启动项目,intellij中Run------->Edit Configuration,点击+号,选择maven 



添加运行名称,执行这个命令的项目和命令,这个命令是spring-boot:run,点击OK即可



7、配置完成后,选中刚刚设置的命令,点击运行即可



8、启动完成后效果如下所示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息