SpringBoot 使用JSP开发Web项目

简介: 本文目录1. 背景2. 修改pom.xml引入JSP依赖3. 添加webapp目录存放JSP文件4. 注册视图解析器5. 创建一个控制器6. 创建网页7. 测试

1. 背景

Spring Boot目前开发Web应用这块,使用Restful风格做前后端分离实现的应该是主流了。不过也有很多朋友们使用模板引擎,常用的如Jsp/ Thymeleaf/ Freemarker。


注意Spring Boot官方已经不推荐使用JSP了,确实操作起来也比较麻烦,但是由于JSP用户体量还是比较大的,所以还是简单演示下。


2. 修改pom.xml引入JSP依赖

添加依赖项,开启SpringBoot对Web项目及JSP的支持


 <!-- 添加web开发功能 -->

 <dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-web</artifactId>

 </dependency>

 <!--内嵌的tomcat支持模块 -->

 <dependency>

  <groupId>org.apache.tomcat.embed</groupId>

  <artifactId>tomcat-embed-jasper</artifactId>

  <scope>provided</scope>

 </dependency>

 <!-- 对jstl的支持 -->

 <dependency>

  <groupId>javax.servlet</groupId>

  <artifactId>jstl</artifactId>

 </dependency>


3. 添加webapp目录存放JSP文件

手工添加src/main/webapp及子目录如下,同时目录下放一个index.jsp用于测试。注意该目录是一个Source Folder源代码目录,不是普通文件夹目录。


如下图:

image.png

4. 注册视图解析器

在配置类内添加视图解析器


@SpringBootApplication

public class SpringbootTemplatedemoApplication {

public static void main(String[] args) {

 SpringApplication.run(SpringbootTemplatedemoApplication.class, args);

}

@Bean//注册视图解析器

public InternalResourceViewResolver setupViewResolver() {

 InternalResourceViewResolver resolver = new InternalResourceViewResolver();

 resolver.setPrefix("/WEB-INF/jsp/");//自动添加前缀

 resolver.setSuffix(".jsp");//自动添加后缀

 return resolver;

}

}


5. 创建一个控制器

创建控制器,用于跳转到index.jsp页面


@Controller

public class JspController {

@RequestMapping("/jsp") // 访问路径

public String jsp(Model model) {

 model.addAttribute("name", "猫哥");//携带属性值

 return "index";//跳转页面

}


6. 创建网页

创建index.jsp页面,取出后端穿过来的属性值


<%@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

${name}

</body>

</html>


7. 测试

直接访问http://127.0.0.1:1004/jsp,即可输出网页,完成!

相关文章
|
21天前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
128 4
|
4月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
4月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。
|
4月前
|
Java API 微服务
Java 21 与 Spring Boot 3.2 微服务开发从入门到精通实操指南
《Java 21与Spring Boot 3.2微服务开发实践》摘要: 本文基于Java 21和Spring Boot 3.2最新特性,通过完整代码示例展示了微服务开发全流程。主要内容包括:1) 使用Spring Initializr初始化项目,集成Web、JPA、H2等组件;2) 配置虚拟线程支持高并发;3) 采用记录类优化DTO设计;4) 实现JPA Repository与Stream API数据访问;5) 服务层整合虚拟线程异步处理和结构化并发;6) 构建RESTful API并使用Springdoc生成文档。文中特别演示了虚拟线程配置(@Async)和StructuredTaskSco
515 0
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
253 0
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
126 1
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
287 12