当前位置: 首页 > ds >正文

在 Spring Boot 中使用 JSP

jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。

项目结构:

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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.mg</groupId><artifactId>his5</artifactId><version>0.0.1-SNAPSHOT</version><name>his5</name><description>his5</description><packaging>war</packaging><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</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-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><dependency><groupId>jakarta.servlet.jsp</groupId><artifactId>jakarta.servlet.jsp-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.0.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

 配置文件中值得注意的地方如下,老版本springboot得用另外的包:

      <dependency><groupId>jakarta.servlet.jsp</groupId><artifactId>jakarta.servlet.jsp-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>

在 Spring Boot 支持的嵌入式容器中只有 Tomcat 支持使用 JSP,Undertow 和 Jetty 均不支持!

application.yml:  

spring:application:name : "his5"mvc:view:prefix: "/WEB-INF/views/"suffix: ".jsp"

 prefix: "/WEB-INF/views/"  是相对于webapp 的根目录起步的!

配置webapp 的根目录的地方如下:

controler:

package com.mg.his5.mvc;import com.mg.his5.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;//restful @RestController class
@Controller
@RequestMapping("/his")
public class MvcController {@GetMapping("/hello")@ResponseBodypublic String hello() {return "Hello, MVC!";}@GetMapping("/")public ModelAndView index () {return new ModelAndView("index/index");}//return user information function@GetMapping("/user")@ResponseBodypublic User getUser(){User u= new User();u.setUsername("testUser");u.setPassword("testPassword");return u;}}

不过 我觉得更好的办法是吧web 作为一个独立的模块,那样项目结构是不是更清晰呢

如下图启动项目:

test:

http://www.xdnf.cn/news/12394.html

相关文章:

  • 【实施指南】Android客户端HTTPS双向认证实施指南
  • 如何排查和解决PHP连接数据库MYSQL失败写锁的问题
  • Hive中ORC存储格式的优化方法
  • GC1809:高性能24bit/192kHz音频接收芯片解析
  • ubuntu2404 gpu 没接显示器,如何保证远程显示的分辨率
  • 在Coze平台中 API是什么?插件是什么?它们是一类吗?
  • Java-IO流之转换流详解
  • w381银行管理系统
  • Prime Day前后计划提报BD
  • 应用app的服务器如何增加高并发
  • 【Linux】为 Git 设置 Commit 提交模板方法,可统一个人或者项目的提交风格
  • 第24届GPOWER动力展同期召开“内燃发电设备高质量发展论坛”
  • 关于智能体API参考接口
  • 抽奖系统核心——抽奖管理
  • Odoo电子邮件使用配置指南
  • 免费工具-微软Bing Video Creator
  • 服饰协会小程序源码介绍
  • c++ 通过(MD5和Merkle树)验证文件的完整性。
  • python执行测试用例,allure报乱码且未成功生成报告
  • 目标检测基础概念解析:任务、挑战与算法分类
  • opencv-python的使用——from official tutorial(持续更新)
  • 新版NANO下载烧录过程
  • Unity协程Coroutine与UniTask对比
  • 杰理可视化SDK--系统死机异常调试
  • vue3 eslint ts 关闭多单词命名检查
  • 第一章:多模态AI导论 —— 感知、理解与交互的智能新纪元
  • thinkphp8.1 调用巨量广告API接口,刷新token
  • 测试W5500的第11步_使用ARP解析IP地址对应的MAC地址
  • 以光量子为例,详解量子获取方式
  • 使用 async/await 封装 wx.request 请求