首页 > 其他分享 >SpringBoot添加JSP支持

SpringBoot添加JSP支持

时间:2023-05-16 22:07:10浏览次数:49  
标签:SpringBoot boot springframework 添加 JSP import org new dogs


①创建一个新的Maven Web 项目,命名为SpringBoot_jsptest

SpringBoot添加JSP支持_tomcat

SpringBoot添加JSP支持_springboot_02

建成之后会如上图所示,报错是因为没有加入jsp的支持。

② 按照Maven规范,在src/main/下新建一个名为resource的文件夹,并在下面新建static以及templates文件夹

修改pom.xml文件:

        1、在url标签后面加入parent元素:

 

<!--   
 spring-boot-starter-parent是Spring Boot的核心启动器,
 包含了自动配置、日志和YAML等大量默认的配置,大大简化了我们的开发。
 引入之后相关的starter引入就不需要添加version配置,
     spring boot会自动选择最合适的版本进行添加。
               -->
            <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>2.0.0.RELEASE</version>
 <relativePath/> 
     </parent>

        2、添加一些依赖

      

<!-- 添加spring-boot-starter-web模块依赖 -->
   <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>

 <!--添加 tomcat 的支持.-->
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-tomcat</artifactId>
 <scope>provided</scope>
 </dependency>

 <!-- Jasper是tomcat中使用的JSP引擎,运用tomcat-embed-jasper可以将项目与tomcat分开 -->
 <dependency>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-jasper</artifactId>
 <scope>provided</scope> </dependency>

③ 在resources下创建application.properties配置文件

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


④创建控制器


package com.ysh.jsptest.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ysh.jsptest.domain.Dog;
@Controller
public class IndexController {

 @RequestMapping("/")
 public String index(Model model){
 // 保存一个username到model
 model.addAttribute("username", "badao");
 // 模拟数据库数据保存到List集合
 List<Dog> dogs = new ArrayList<>();
 dogs.add(new Dog(1, "巴扎黑1", "1.jpg",109.00,"ysh"));
 dogs.add(new Dog(2, "巴扎黑2", "2.jpg",108.00,"badao"));
 dogs.add(new Dog(3, "巴扎黑3", "3.jpg",58.00,"liumang"));
 dogs.add(new Dog(4, "巴扎黑4", "4.jpg",108.00,"qi"));
 dogs.add(new Dog(5, "巴扎黑5", "5.jpg",79.00,"zhi"));
 // 保存数据到model
 model.addAttribute("dogs", dogs);
 return "index";
 }
}

⑤ 创建JSP页面

application.properties文件中指定的文件路径是/WEB/jsp/,这是web开发中最常用的方式

在webapp/WEB-INF/下新建一个jsp目录,并重新建一个index.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css" />
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap-theme.min.css"/> 
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
</head>
<body>
<div class="panel panel-primary">
 <!-- .panel-heading 面板头信息。 -->
 <div class="panel-heading">
 <!-- .panel-title 面板标题。 -->
 <h3 class="panel-title">Spring Boot添加JSP示例</h3>
 </div>
</div>
<div class="container">
 <div class="row">
 <div class="col-md-4">
 <h3>欢迎[<font color="red">${requestScope.username }</font>]</h3>
 </div>
 </div>
 <div class="col-md-12">
 <div class="panel panel-primary">
 <div class="panel-heading">
      <h3 class="panel-title">狗狗信息列表</h3>
   </div>
   <div class="panel-body">
 <!-- table-responsive:响应式表格,在一个表展示所有的数据,当不够显示的时候可以左右滑动浏览-->
 <div class="table table-responsive">
 <!--
                  .table-bordered 类为表格和其中的每个单元格增加边框。
                  .table-hover 类可以让 <tbody> 中的每一行对鼠标悬停状态作出响应。
                 -->
 <table class="table table-bordered table-hover">
 <thead>
 <th class="text-center">狗狗照片</th ><th class="text-center">狗狗名字</th>
 <th class="text-center">狗狗价格</th ><th class="text-center">狗狗主人</th>
 </thead>
 <tbody class="text-center">
 <c:forEach items="${requestScope.dogs}" var="dog">
 <tr>
 <td> <img src="images/${dog.image}" height="60"/></td>
 <td>${dog.name}</td>
 <td>${dog.price}</td>
 <td>${dog.owner}</td>
 </tr>
 </c:forEach>
 </tbody>
 </table>
 </div>
 </div>
 </div>
 </div>
</div>
</body>
</html>

⑥创建APP类

package com.ysh.jsptest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//@SpringBootApplication指定这是一个 spring boot的应用程序.
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
     // SpringApplication 用于从main方法启动Spring应用的类。
        SpringApplication.run(App.class, args);
    }
}

⑦运行应用,打开浏览器输入:http://localhost:8080/

SpringBoot添加JSP支持_springboot_03



标签:SpringBoot,boot,springframework,添加,JSP,import,org,new,dogs
From: https://blog.51cto.com/BADAOLIUMANGQZ/6287414

相关文章

  • SpringBoot实现注册时头像上传与下载
    一、说明     1.为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。      2.SpringMVC为文件上传提供了直接的支持,这种支持是通过MultipartResolver实现的,SpringMVC使用ApacheCommonsFileUpload技术实现了MultipartResolver实现......
  • SpringBoot中使用Thymeleaf常用功能(一):表达式访问数据
    环境搭建:  创建一个Maven项目,按照Maven项目的规范,在src/main/下新建一个名为resources的文件夹,并在下面新建static和templates文件夹。 ① 修改pom.xml:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi......
  • SpringBoot入门案例后的4个问题
    1.我们的工程在引入`spring-boot-starter-web`依赖的时候,为什么没有指定版本版本锁定 我们的项目继承了spring-boot-starter-parent父工程,它内部的父工程spring-boot-dependencies已经锁定了部分依赖的版本号,因此自己创建工程中无需再指定版本。2.`spring-......
  • SpringBoot+Prometheus+Grafana实现应用程序可视化监控
    1、SpringBoot应用暴露监控指标maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupI......
  • 在EasyCVR平台中添加设备提示成功但不显示是什么原因?
    EasyCVR视频融合平台基于云边端智能协同架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、宇视SDK等。平台丰富的视频能力包括:视频监控直播、录像......
  • jsp中实现文件上传下载的三种解决方案(推荐)
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • 为powerdesigner添加mysql的字符集支持
    [url]http://jooben.blog.51cto.com/253727/309467[/url]一般建模可能都会用到:powerdesigner但是,在建表的时候,我一直没有找到:DEFAULTCHARACTERSETCOLLATE两个选项。因此,想了个方法,点击:工具栏-》database-》editcurrentDBMS[img]http://img1.51c......
  • 用JFreeChart增强JSP报表的用户体验(2)
     三. 饼图在WebRoot目录下建立名为pie的子目录,用来存放本教程中饼图的实例jsp页面。下面让我们来看一个简单的三维饼图。首先在pie目录下建立一个名为sample1.jsp的页面。在JFreeChart中,与饼图绘制密切相关的类如下:1) PiePlot饼图绘制类,可以用来设置饼图的相关属性。例......
  • SpringBoot优化之项目启动优化
    目录1SpringBoot启动优化1.1背景1.2观察SpringBoot启动run方法1.2.1SpringApplicationRunListener接口1.2.2使用SpringApplicationRunListener监控1.3监控Bean注入耗时1.3.1BeanPostProcessor接口1.4优化方案1.4.1如何解决扫描路径过多1.4.2如何解决Bean初始......
  • springboot 整合webservice 相关说明
    1.环境依赖jdk8,springboot2.3.12.release,cxf版本需要根据springboot版本修改,方法:查看springboot版本的发布日期,然后根据日期找相近的两个版本<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><versi......