spring boot实战之使用JSP的示例

前后端分离的架构有其优势,但具体情况具体分析,并不是任何时候使用前后端分离架构都是合适的。我最近就体会到其中的坑,因为部门属性的问题,前端项目占比较低,所以公司前端基本上都是新手,结果就是后端接口完成了一个多月,前端还在加班加点的赶。前后端人员的能力和人数与工作量是匹配的,前后端都能hold住时建议使用前后端分离架构,如果前端能力有限或人员较少,那就最好不要采用,这样才能保证项目进度可控。

Spring Boot并不建议使用JSP,但是可能有习惯和人员知识面的限制,还是希望使用jsp,则可以根据下面的教程来了解如何在spring boot项目内使用jsp。

1、添加maven依赖

<!-- 添加对jsp视图解析的支持 -->
<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>

2、添加配置

在application.properties内添加以下配置:

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

3、创建jsp

创建src/main/webapp/WEB-INF/jsp目录,目录结构不要改动

在src/main/resources目录下创建static目录用于存放静态资源,如image目录用于存放图片,js目录用于存放js文件

创建jsp文件,如test.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!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">
<title>test</title>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.min.js"></script>

</head>
<body>
  hello,welcome to you 123!test=[${test }] test2=[${test2 }]
  <br>
  ![](${pageContext.request.contextPath }/image/1.jpg)
  <c:if test="${1 == 1 }"><br>this is ShangHai,china!</c:if>
</body>
</html>

${pageContext.request.contextPath }用于获取项目路径,即server.context-path设置的值

访问图片${pageContext.request.contextPath }/image/1.jpg,也就是src/main/resources/static/image/1.jpg文件,注意直接访问/image/1.jpg即可

加载js路径为${pageContext.request.contextPath }/js/jquery.min.js,同图片,加载静态资源的方式类似

4、访问jsp

创建controller

@Controller
public class TestController {

  @RequestMapping("/test")
  public String myJsp(HttpServletRequest request,ModelMap model){
    System.out.println("myjsp");
    model.put("test", "test");
    request.setAttribute("test2", "test2");
    return "test";
  }

}

启动项目后,访问localhost:port/test就可以看到上面的示例页面了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解SpringBoot 添加对JSP的支持(附常见坑点)

    序言: SpringBoot默认不支持JSP,如果想在项目中使用,需要进行相关初始化工作.为了方便大家更好的开发,本案例可直接作为JSP开发的脚手架工程 SpringBoot+War+JSP . 常见问题: 1.修改JSP需重启才能生效: 在生产环境中,SpringBoot重新编译JSP可能会导致较大的性能损失,并且很难追查到问题根源,所以在最新的版本中,官方已经默认关闭此功能,详见JspServlet类的初始化参数.那么,如何解决这个问题呢?推荐两个解决办法:1.使用devtools 2. 添

  • JSP 中response.setContentType()的作用及参数

    JSP 中response.setContentType()的作用及参数 response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据. 例如web浏览器就是通过MIME类型来判断文件是GIF图片.通过MIME类型来处理json字符串. Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考. response.setContentType("text/h

  • JSP 中Session的详解及原理分析

    JSP 中Session的理解: 一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务. 二.Session和Cookie的主要区别 Cookie是把用户的数据写给用户的浏览器. Session技术

  • JSP之表单提交get和post的区别详解及实例

    JSP之表单提交get和post的详解及实例 一 get和post的区别 二 实战(post方式提交) 1.login.jsp <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" %> <% String path = request.getContextPath(); String basePath = req

  • SpringBoot项目如何访问jsp页面的示例代码

    最近在接支付项目,从官方下了个及时到款的demo,想在springBoot项目中运行起来,发现访问jsp的时候直接会访问到jsp页面的源文件. 如何在springBoot项目中访问到jsp页面? 1.添加pom依赖 首先在原来的pom文件基础上加上这两个配置 <!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring

  • JSP中Servlet的Request与Response的用法与区别

    JSP中Servlet的Request与Response的用法与区别 简介:Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了.要向客户机输出数据,只需要找response对象就行了. 一,Request Request代表请求对象,其中封装了对请求中具有请求行.请求头.实体内容的操作的方法

  • JSP状态管理的简单介绍

    JSP状态管理的简单介绍 一 http协议的无状态性 无状态性是指:当浏览器发送请求给服务器时,服务器响应客户端请求. 但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器. 简单地说,就是服务器不会去记得你,所以就是无状态协议. 二 保存用户状态的两大机制 Session Cookie 三 Cookie概述 Cookie:中文名称为"小甜饼",是Web服务器保存在客户端的一系列文本信息. 典型应用一:判断注册用户是否已经登录网站. 典型应用二:"

  • spring boot实战之使用JSP的示例

    前后端分离的架构有其优势,但具体情况具体分析,并不是任何时候使用前后端分离架构都是合适的.我最近就体会到其中的坑,因为部门属性的问题,前端项目占比较低,所以公司前端基本上都是新手,结果就是后端接口完成了一个多月,前端还在加班加点的赶.前后端人员的能力和人数与工作量是匹配的,前后端都能hold住时建议使用前后端分离架构,如果前端能力有限或人员较少,那就最好不要采用,这样才能保证项目进度可控. Spring Boot并不建议使用JSP,但是可能有习惯和人员知识面的限制,还是希望使用jsp,则可以根据

  • Spring Boot实战之数据库操作的示例代码

    上篇文章中已经通过一个简单的HelloWorld程序讲解了Spring boot的基本原理和使用.本文主要讲解如何通过spring boot来访问数据库,本文会演示三种方式来访问数据库,第一种是JdbcTemplate,第二种是JPA,第三种是Mybatis.之前已经提到过,本系列会以一个博客系统作为讲解的基础,所以本文会讲解文章的存储和访问(但不包括文章的详情),因为最终的实现是通过MyBatis来完成的,所以,对于JdbcTemplate和JPA只做简单演示,MyBatis部分会完整实现对文

  • 详解Spring Boot实战之Filter实现使用JWT进行接口认证

    本文介绍了spring Boot实战之Filter实现使用JWT进行接口认证,分享给大家 jwt(json web token) 用户发送按照约定,向服务端发送 Header.Payload 和 Signature,并包含认证信息(密码),验证通过后服务端返回一个token,之后用户使用该token作为登录凭证,适合于移动端和api jwt使用流程 本文示例接上面几篇文章中的代码进行编写,请阅读本文的同时可以参考前面几篇文章 1.添加依赖库jjwt,本文中构造jwt及解析jwt都使用了jjwt库

  • 详解Spring Boot实战之单元测试

    本文介绍使用Spring测试框架提供的MockMvc对象,对Restful API进行单元测试 Spring测试框架提供MockMvc对象,可以在不需要客户端-服务端请求的情况下进行MVC测试,完全在服务端这边就可以执行Controller的请求,跟启动了测试服务器一样. 测试开始之前需要建立测试环境,setup方法被@Before修饰.通过MockMvcBuilders工具,使用WebApplicationContext对象作为参数,创建一个MockMvc对象. MockMvc对象提供一组工具

  • 实例详解Spring Boot实战之Redis缓存登录验证码

    本章简单介绍redis的配置及使用方法,本文示例代码在前面代码的基础上进行修改添加,实现了使用redis进行缓存验证码,以及校验验证码的过程. 1.添加依赖库(添加redis库,以及第三方的验证码库) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency&

  • spring boot实战之内嵌容器tomcat配置

    本文介绍了spring boot实战之内嵌容器tomcat配置,分享给大家,具体如下: 默认容器 spring boot默认web程序启用tomcat内嵌容器tomcat,监听8080端口,servletPath默认为 / 通过需要用到的就是端口.上下文路径的修改,在spring boot中其修改方法及其简单: 在资源文件中配置: server.port=9090 server.contextPath=/lkl 启动spring boot 2015-10-04 00:06:55.768 INFO

  • Spring Boot 项目中使用Swagger2的示例

    本文介绍了Spring Boot 项目中使用Swagger2的示例,分享给大家,具体如下: 添加Swagger2依赖 在pom.xml中加入Swagger2的依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency&g

  • Spring boot 跳转到jsp页面的实现方法

    本人正在学习Spring boot,搜索了很多关于Spring boot 跳转到jsp页面的实现方法介绍,下面我来记录一下,有需要了解的朋友可参考.希望此文章对各位有所帮助. @Controller注解 1.application.properties文件中配置 # 配置jsp文件的位置,默认位置为:src/main/webapp spring.mvc.view.prefix=/pages/ # 配置jsp文件的后缀 spring.mvc.view.suffix=.jsp 2.Controlle

  • 详解Spring Boot实战之Rest接口开发及数据库基本操作

    本文介绍了Spring Boot实战之Rest接口开发及数据库基本操作,分享给大家 1.修改pom.xml,添加依赖库,本文使用的是mysql <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <

  • spring boot aop 记录方法执行时间代码示例

    本文研究的主要是spring boot aop 记录方法执行时间的实现代码,具体如下. 为了性能调优,需要先统计出来每个方法的执行时间,直接在方法前后log输出太麻烦,可以用AOP来加入时间统计 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency&

随机推荐