SpringBoot使用Jsp

本文是简单总结一下SpringBoot使用Jsp的Demo。

前言

在早期做项目的时候,JSP是我们经常使用的java服务器页面,其实就是一个简化servlet的设计,在本文开始之前,回顾一下jsp的几大对象,如图。

165315ba279e46cd?w=755&h=417&f=jpeg&s=18970

而在现在SpringBoot框架流行的时代,SpringBoot推荐的模版引擎也转变为了thymeleaf,本文来介绍一下SpringBoot使用Jsp页面。

新建项目

创建一个项目springboot_jsp,pom文件中加入tomcat-embed-jasper依赖以及jstl标签库的依赖,完整pom代码如下:

<?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.dalaoyang</groupId><artifactId>springboot_jsp</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>springboot_jsp</name><description>springboot_jsp</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.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><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></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

创建jsp放置文件夹

在src/main目录下创建webapp文件夹,为了迎合传统的结构,在webapp下创建WEB-INF文件夹,然后在新建的WEB-INF文件夹内创建jsp文件夹。(具体结构可以自行设计,无需按照这个demo来),目录结构如图

1653161f7423995f?w=406&h=206&f=png&s=2448

配置文件

配置文件内配置刚刚新建的目录,以及jsp文件后缀,配置如下:

server.port=8888spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

新建Controller

创建一个IndexController,里面写入一个跳转方法,代码如下:

package com.dalaoyang.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;/*** @author dalaoyang* @project springboot_learn* @package com.dalaoyang.controller* @email yangyang@dalaoyang.cn* @date 2018/8/13*/
@Controller
public class IndexController {@GetMapping("/")public String index(Model model){model.addAttribute("name", "dalaoyang");return "index";}}

创建一个jsp

在src/main/webapp/WEB-INF/jsp下面新建一个index.jsp,代码如下:


<!DOCTYPE html><html lang="en">
<head><meta charset="UTF-8"><title>Hello</title>
</head>
<body>
Hello,${name}
</body>
</html>

运行测试

启动项目,在浏览器访问http://localhost:8888/,显示如下结果:

16531677a0a25bca?w=778&h=215&f=png&s=9652

源码下载 :大老杨码云

转载于:https://www.cnblogs.com/dalaoyang/p/9467333.html

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

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

相关文章

java 持久_Java持久锁总结 -解道Jdon

并发主题Java与持久相关的锁总结本文总结Java中有关数据库保存持久数据的锁机制&#xff0c;不只是纯粹数据库自身的锁&#xff0c;本文主要就Java持久层三个技术数据库、JPA和Hibernate的锁应用进行了总结。在并发理论中&#xff0c;锁是用于保护可变的共享数据&#xff0c;以…

cacti 监控安装失败

1首先这是基于lnmp模式进行的 2yum安装 yum -y install httpd mysql mysql-server php php-mysql php-json php-pdo 3lib库 yum -y install cairo-devel libxml2-devel pango pango-devel 4 解压rrdtool-1.3.1.tar.gz Cd rrdtool-1.3.1 ./configure --prefix/usr/local/rrdtoo…

project 模板_施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图...

施工进度横道图不会做&#xff1f;18份计划模板收藏好&#xff0c;输入参数迅速成图作为施工组织设计的关键内容&#xff0c;施工进度计划控制了工程施工进度、工程施工期限等各项施工活动。进度计划是否合理&#xff0c;直接影响施工速度、成本和质量。因此施工中的其他工作必…

JavaScript学习系列3 -- JavaScript arguments对象学习

在实际项目开发中&#xff0c;目前还是很少使用到JavaScript 中的arguments对象&#xff0c;那么它到底是干什么用的呢 arguments是JavaScript中的一个类数组对象&#xff0c;它代表传给一个正在执行的函数function的参数列表。 看完这个定义&#xff0c;需要明白&#xff0c…

二叉树垂直遍历 java_【004】二叉树垂直遍历

二叉树垂直遍历题目描述输入输出示例输入实例输出DFSBFS更简单的方法二叉树垂直遍历题目描述对于一个二叉树&#xff0c;输出它的垂直遍历结果&#xff1b;对于同一列的节点&#xff0c;按照从左向右&#xff0c;从上向下的顺序排列。例如&#xff0c;对于以下二叉树&#xff1…

matlab二元一次方程求解_2-函数的求解计算

一、本期介绍函数的求解有两种&#xff08;1&#xff09;已知x求y&#xff08;2&#xff09;已知y求x1.1已知x求y回想我们上一期&#xff0c;讲了多项式求解的方法&#xff0c;也是已知x求y。想一下&#xff0c;多项式不也是函数的一种吗&#xff0c;所以本期求解的方法同样适用…

linux lnmp yum版安装

LAMP&#xff08;linux、apache、mysql、php&#xff09;&#xff0c;是四个套件的合成&#xff0c;简单讲就是要把php运行在linux上&#xff0c;需要依赖apache和mysql数据库。 1 准备好一个linux系统&#xff08;centos7&#xff09;   确保selinux、firewall已经关闭   …

面向对象的四大特征

面向对象的四大特征 面向对象的程序设计方法要求语言必须具备抽象、封装、继承和多态性这几个关键要素。 面向对象程序设计&#xff0c;是通过为数据和代码建立分块的内存区域&#xff0c;以便提供对程序进行模块化的一种程序设计方法。对象是计算机内存中的一块区域&#xff0…

python装饰器调用顺序_聊一聊Python装饰器的代码执行顺序

为什么写这篇文章&#xff1f;起因是QQ群里边有人提了一个问题&#xff1a;之前导入模块只需要1~2秒&#xff0c;为什么现在变成需要2~3分钟&#xff1f;我的第一感觉是&#xff1a;是不是导入的模块顶层代码里边&#xff0c;做了什么耗时的事情。隔了一天&#xff0c;他的问题…

centos7 安装cacti

1 cacti运行环境准备   cacti需要phpapachemysqlsnmpRRDTool&#xff0c;以及cacti本身。cacti本体是用php开发的网站&#xff0c;通过snmp对远端设备信息进行采集。apachemysqlphp在以前已经做过了      这里只对剩余的部分进行安装。 2 安装snmp    yum install -y n…

python第三方库-基础

1.python社区 python有一个全球社区&#xff0c;提供了超过十三万个涵盖各种领域应用的第三方库&#xff0c;该社区可通过 http://pypi.org/ 来访问。PyPI&#xff08;Python Package Index&#xff09;是python包的索引&#xff0c;学会检索并利用PyPI&#xff0c;找到合适的第…

python折线图matplotlib库_Python如何使用内置库matplotlib绘制折线图

这篇文章主要介绍了Python如何使用内置库matplotlib绘制折线图,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下环境准备&#xff1a;需要安装matplotlib&#xff0c;安装方式&#xff1a;pip install matplotlib…

linux下zabbix安装

1本人用的是apachemysqlphp 2下载zabbix软件包&#xff0c;官网下载 https://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/2.2.23/zabbix-2.2.23.tar.gz/download 上传到 var/www/html下 3cd /var/www/html #进入软件包下载目录 tar zxvf zabbix-2.2.23.tar.g…

java cas机制_Java CAS机制详解

CAS目的&#xff1a;在多线程中为了保持数据的准确性&#xff0c;避免多个线程同时操作某个变量&#xff0c;很多情况下利用关键字synchronized实现同步锁&#xff0c;使用synchronized关键字修可以使操作的线程排队等待运行&#xff0c;可以说是一种悲观策略&#xff0c;认为线…

「一本通 4.1 练习 2」简单题

题目描述 题目来源&#xff1a;CQOI 2006 有一个 n 个元素的数组&#xff0c;每个元素初始均为 0。有 m 条指令&#xff0c;要么让其中一段连续序列数字反转——0 变 1&#xff0c;1变 0&#xff08;操作 1&#xff09;&#xff0c;要么询问某个元素的值&#xff08;操作 2&…

定时器取数据时实时进来的数据_Redis-数据淘汰策略amp;持久化方式(RDB/AOF)amp;Redis与Memcached区别...

Redis与Memcached区别&#xff1a; 两者都是非关系型数据库。主要有以下不同&#xff1a; 数据类型&#xff1a; Memcached仅支持字符串类型。 redis支持&#xff1a;String,List,set,zset,hash 可以灵活的解决问题。 数据持久化&#xff1a; Memcached不支持持久化。 Redis采…

linux 下建立多个tomcat

第一步&#xff1a;复制&#xff0c;解压 将准备好的tomcat压缩包复制到你准备安装的目录&#xff0c;我的tomcat压缩包名字是tomcat.tar.gz,我的安 装目录是 /usr/java/tomcat 第二步&#xff1a;解压tomcat [rootaliServer tomcat]# tar -xvf tomcat.tar.gz 第三步&#xff…

java apply 函数_Js(Javascript)中的apply方法的使用

Function.apply(obj,args)方法能接收两个参数&#xff0c;简单说apply方法作用就是给类或方法中的this赋值。所以学会这个方法首先要知道this的作用。(this的用法可以看一下这个链接&#xff1a;http://www.cjavapy.com/article/8/ )obj&#xff1a;这个对象将代替Function类里…

linux iptables配置

1 iptables默认系统自带 setup 2重启防火墙 /etc/init.d/iptables restart 3接受端口 Vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 4 #配置&#xff0c;禁止进&#xff0c;允许出&#xff0c;允许回环网卡 iptables -P I…

memcpy函数_[PART][BUG][MSVCRT][C][CCF NOI1097] 关于memcpy的坑

[Incompleted]CCF NOI1097 试题&#xff0c;本人的源码&#xff1a;Ubuntu Pastebin​paste.ubuntu.comUbuntu PastebinUbuntu Pastebin: SourceCodebyJulianDroid​paste.ubuntu.com满分代码&#xff1a;https://blog.csdn.net/tigerisland45/article/details/71038551​blog.…