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

虽然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、启动完成后效果如下所示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值