Idea工具开发 SpringBoot整合JSP(毕设亲测可用)

 因为,临近毕业了,自己虽然也学了很多框架。但是,都是在别人搭建好的基础上进行项目开发。但是springboot的官方文档上明确指出不提倡使用jsp进行前端开发,但是在校期间只学了jsp作为前端页面。所以,废话不多说,先上项目结构图。

先跟大家说下项目结构:

1)webapp主要是用来放jsp页面的。

2)最下方的web文件夹是通过idea软件来生成的,自己不需要改变。

那就跟着博主一起来搭建一遍。

1. 先file -> new -> project

 

然后可以选择Spring Initializr或者直接一个Empty Project都可以来建web项目。这里我们为了方便就使用Spring Initializr来建SpringBoot的项目。

之后就是next 这里需要注意一点。packaging的格式一定要采用War的形式。因为jsp只支持War包。

然后继续next  这里我们选择一个web,因为是一个web的项目 所以就先打勾勾了,其它的myBatis,我们可以在后期通过pom.xml文件进行添加。

然后选择SpringBoot的版本为1.5.10 现在的2.0刚出来。怕不稳定

然后 就是next和finish。

2. 这是通过第一步创建出来的项目结构图

1)TestApplication是SpringBoot的启动类。但是由于没有配置数据源,所以需要在启动类上面添加一个去除数据源的注解

2)ServletInitializer是继承自Servlet的类,如果嫌2个类太麻烦,可以将TestApplication继承自SpringBootServletInitializer

3) 改成为一个类之后是这样的。

3.在main文件夹下面创建一个webapp。然后在webapp下创建一个WEB-INF,再在WEB-INF下创建jsp文件夹。在jsp里面建一个index.jsp文件。项目结构如下

4.在com.fangke这个包下面创建一个controller作为访问之前index.jsp的入口。

TestController里面的内容为

5.然后在application.properties文件里写访问资源路径  这里的.jsp为后缀

 

6.到这一步,还是不能运行这个项目,会报404找不到页面,但是已经可以进入index()这个方法了。接下来,我们需要选择file -> project structure

然后选择web

如果没有web的话。可以点加号。添加一个web

接下来就是分别配置Deployment Descriptors和Web Resource Directories

7.我们需要向pom.xml文件中加入servlet依赖包以及tomcat依赖包和之前提到的myBatis的依赖包......(直接上图)

<?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.fangke</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>test</name>
<description>Demo project for Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.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.8</java.version>
<spring-cloud.verson>Dalston.SR4</spring-cloud.verson>
</properties>

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

<!-- servlet 依赖包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>

<!-- JSTL (JSP standard Tag Library) JSP 标准标签库 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

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

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

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.27</version>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.23</version>
</dependency>

<!--加密字符-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.13</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.2.RELEASE</version>
</dependency>

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>

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

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

 

8.启动这个项目,然后浏览器访问localhost:8080/index 就可以访问了(加一句静态资源需要放在resources下的static文件夹下)

 

 项目源码 https://github.com/fk123456/test.git

转载于:https://www.cnblogs.com/fangke/p/8552000.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习番外——Yolov5服务器环境搭建

文章目录1 服务器搭建yolov5环境1.1 创建环境1.2 跟随官方指引2 下载预训练权重3 推理4 测试1 服务器搭建yolov5环境 1.1 创建环境 首先先的在本地环境下搭建一个我们的环境&#xff0c;名字设为yolo5-6 conda create -n yolov5-6 python3.7#创建环境 conda activate yolov5…

计算球体积

Problem Description 根据输入的半径值&#xff0c;计算球的体积。Input 输入数据有多组&#xff0c;每组占一行&#xff0c;每行包括一个实数&#xff0c;表示球的半径。Output 输出对应的球的体积&#xff0c;对于每组输入数据&#xff0c;输出一行&#xff0c;计算结果保留三…

机器学习实战(一)——员工离职预测

文章目录员工离职预测——逻辑回归的应用1 读取文件2 独热编码3 划分数据集4 归一化5 逻辑回归预测6 模型预测及评估员工离职预测——逻辑回归的应用 开始这个案例之前&#xff0c;请先点击这里的数据集进行下载&#xff1a;HR_comma_sep.zip - 蓝奏云 (lanzout.com) 1 读取文…

Mac版Anaconda安装Tweepy包

Anaconda官网给出的tweepy包安装方法&#xff1a;https://anaconda.org/conda-forge/tweepy 查阅Anaconda官方文档&#xff0c;可以通过以下控制台命令安装Tweepy包。 conda install -c conda-forge tweepy 在控制台执行后&#xff0c;系统可能会提示未找到conda指令&#xff…

iOS 证书与签名 解惑详解

iOS 证书与签名 解惑详解 分类&#xff1a; iPhone2012-06-06 19:57 9426人阅读 评论(1) 收藏 举报iosxcodecryptographyappleiphone测试目录(?)[] 教程截图&#xff1a; 下面是一篇有澳洲墨尔本的一名全职iOS开发者提供的文章。他在论坛上是一个很摩登的年轻人 – Adam Eberb…

Julia学习笔记(一)——入门

文章目录1 入门1.1 启动与退出1.1.1 启动1.1.2 退出1.2 编译文件1.3 变量1.3.1 基本介绍1.3.2 重定义1.3.3 变量名合法性1 入门 1.1 启动与退出 1.1.1 启动 在没有任何IDE的帮助下&#xff0c;使用cmd启动黑窗口来尝试julia是一种最简单的方法。我们称进入julia后的黑窗口为…

从地址栏中敲入一个网址,到网页显示出来,这个过程经历了什么

这个问既考察技术深度又考察技术广度&#xff0c;其实要答好是相当难的。 在地址栏中敲入一个网址后&#xff0c;浏览器向服务器发出请求&#xff0c;请求对应网址页面的内容&#xff1b;然后服务器收到请求以后对这个请求进行处理&#xff0c;处理之后以HTML文件的形式把处理结…

mac上nginx静态页面访问403

第一天配置好的nginx可以正常的访问静态页面&#xff0c;第二天通过网络云盘下载的index.html文件之后&#xff0c;再次访问出现了403forbidden的问题。 查看文件的权限&#xff1a; -rwxr-x--x 1 hu staff 6351 4 12 21:10 bluePlan.js -rwxr-x--x 1 hu staff 113 4 12…

PHP JSON 操作总结

PHP JSON 操作总结 原文:PHP JSON 操作总结由于JSON可以在很多种程序语言中使用&#xff0c;所以我们可以用来做小型数据中转&#xff0c;如&#xff1a;PHP输出JSON字符串供JavaScript使用等。在PHP中可以使用 json_decode() 由一串规范的字符串解析出 JSON对象&#xff0c;使…

Linux学习宝典

文章目录1 虚拟机1.1 简介1.2 Linux版本1.2.1 内核1.2.2 发行版1.3 文件和目录1.3.1 单用户操作系统和多用户操作系统1.3.2 window文件系统1.3.3 Linux下的文件系统2 概述2.1 为什么要学习命令2.2 一些基本操作和说明3 指令和选项4 基础指令4.1 ls指令4.1.1 讲解4.1.2 选项4.1.…

《华为工作法读后感》

开篇 首先不得不说《华为工作法》是一本很好的书籍。感谢我们领导的照顾和用心&#xff0c;才使得我们又有了一些对社会 对工作 对生活等等的认知 。 之前的我是不怎么读书的&#xff0c;因为个人原因读的慢&#xff0c;每句话都要了解其中寓意之后才继续读下去,还有就是工作…

Redis发布与订阅——PUBLISH SUBSCRIBE

2019独角兽企业重金招聘Python工程师标准>>> &#xfeff;Redis发布与订阅——PUBLISH & SUBSCRIBE 一般来说&#xff0c;发布与订阅&#xff08;又称pub/sub&#xff09;的特点是订阅者&#xff08;listener&#xff09;负责订阅频道&#xff08;channel&…

Android 网络通信架构学习

最近跟着云课堂上的极客学院做安卓APP&#xff0c;学习了课程里面介绍的一种网络通信架构。清晰明了&#xff0c;比我自己东一块西一块拼凑出来的要好很多。在这里记录一下。 云课堂的连接&#xff1a;http://study.163.com/course/courseMain.htm?courseId917001 目录&#x…

网络爬虫(二)——Xpath和Selenium的使用

文章目录2 网络爬虫进阶2.1 Xpath2.1.1 Xpath解析原理2.1.2 信息提取2.1.2.1 获取所有结点2.1.2.2 获取子节点2.1.2.3 获取父节点2.1.2.4 获取文本2.1.3 属性匹配2.1.3.1 单个属性匹配2.1.3.2 多个属性匹配3.1 Selenium3.1.1 概述3.1.2 安装3.1.3 元素定位3.1.4 元素信息3.1.5 …

hdu-1176(dp)

解题思路&#xff1a;用dp做的&#xff0c;dp[i][j]表示在i时刻&#xff0c;j点的最大馅饼。a[i][j]表示在i这个时刻j点同时掉落的馅饼&#xff1b; 每个点除了0和10之外&#xff0c;都有三种状态&#xff1b; 1、没有移动&#xff0c;这样值就为dp[i][j]max(dp[i][j],dp[i-1][…

lintcode:买卖股票的最佳时机 III

买卖股票的最佳时机 III 假设你有一个数组&#xff0c;它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来找到最大的利润。你最多可以完成两笔交易。 样例 给出一个样例数组 [4,4,6,1,1,4,2,5], 返回 6 解题 尝试参考买卖股票的最佳时机 II 提交运行发现错误&#…

session 学习

Session模型简介Session 是什么呢&#xff1f;简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时&#xff0c;可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台 WWW服务器建立连接时&#xff0c;他就与这个服务器建立了一个Session&#x…

julia学习笔记(二)——基本数据类型

文章目录2 数据类型2.1 整数2.2 浮点数2.3 机器精度2.4 舍入模式2.5 数值字面量系数2.6 零和一的字面量2 数据类型 2.1 整数 如果想要在julia中输入整数字面值。如下&#xff1a; julia> 34 7至于你的整数字面值默认是什么数据类型&#xff0c;这取决于目标系统是32位还是…

微信(支付宝)小程序蓝牙4.0线上项目

需求 &#xff1a; 微信(支付宝)小程序链接BLE4.0 &#xff0c;发送指令到蓝牙硬件过程 &#xff1a; 小程序分为安卓和ios两套系统&#xff0c;支持连接BLE 蓝牙 &#xff0c;其中会遇到机型问题&#xff08;其中安卓&#xff0c;华为荣耀机型&#xff0c;小米&#xff0c;问题…

团队项目计划BACKLOG

团队名称&#xff1a; 铁大老司机 团队成员&#xff1a; 组长&#xff1a;杨超群 组员&#xff1a;杨涛 杜文星 张家军 计划会议过程&#xff1a; 我们小组在周三下午进行了团队会议&#xff0c;会议召开在图书馆大厅&#xff0c;主要内容是进行项目的总体计划安排&#xff0…