springboot怎么替代jsp_如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧...
做WEB项目,一定都用过JSP这个大牌。Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的。当你从一个传统的Spring MVC项目转入一个Spring Boot项目后,却发现JSP和view关联有些麻烦,因为官方不推荐JSP在Spring Boot中使用。在我看来,继续用这种繁杂的手续支持JSP仅仅只是为了简单兼容而已。
我们先来看看如何在SpringBoot中使用JSP ?
1. 在pom.xm中加入支持JSP的依赖
org.apache.tomcat.embed
tomcat-embed-jasper
provided
javax.servlet.jsp.jstl
jstl-api
1.2
2. 在src/main/resources/application.properties文件中配置JSP和传统Spring MVC中和view的关联
# MVC
spring.view.prefix=/WEB-INF/views/spring.view.suffix=.jsp
3. 创建src/main/webapp/WEB-INF/views目录,JSP文件就放这里
Hello
4. 编写Controller
package com.chry.study;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@EnableAutoConfigurationpublic classSampleController {@RequestMapping("/hello")publicModelAndView getListaUtentiView(){
ModelMap model= newModelMap();
model.addAttribute("name", "Spring Boot"); return new ModelAndView("hello", model);
}}
5. 编写Application类
packagecom.chry.study;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.builder.SpringApplicationBuilder;importorg.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplicationpublic class WebApplication extendsSpringBootServletInitializer {
@OverrideprotectedSpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(WebApplication.class);
}public static void main(String[] args) throwsException {
SpringApplication.run(WebApplication.class, args);
}
}
6. 以java application方式运行后,就可以访问http://locahost:8080/hello
================== 分割线 ==================================
以上代码pom.xml中的javax.servlet.jsp.jstl是用于支持JSP标签库的,在Web2.5的容器中没有问题,单当你的容器是Web3.0或以上版本时,就会出问题。 这是个非常坑爹的问题。
javax.servlet.jsp.jstl会自动加载依赖servlet-api-2.5.jar, 而且会在实际运行时把支持Web3.0的3.1版本的javax.servlet-api覆盖掉。即使你在pom.xml显示的在加入3.1版本的javax.servlet-api也没用。导致SpringBoot应用抛出Runtime exception运行错误。
这是一个不可调和的矛盾,要吗不用javax.servlet.jsp.jstl,要吗不用Web3.0。
但绝大多数情况下,jstl标签库不是必须的,而Web3.0是必须的。替代方式就是不用JSP,改用Themeleaf吧
springboot怎么替代jsp_如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧...相关推荐
- springboot怎么替代jsp_如何在SpringBoot中使用JSP ?
1. 在pom.xm中加入支持JSP的依赖 org.apache.tomcat.embed tomcat-embed-jasper provided javax.servlet.jsp.jstl js ...
- Cookie操作以及如何在js中调用jsp变量
存Cookie Cookie idCookie = new Cookie("userId", request.getParameter("id"));Cooki ...
- 如何在eclipse中创建jsp工程项目
第一种方法:[File]----[new]----[Dynamic Web project] 第二种方法:[File]----[new]----[project]----[web]----[Dynam ...
- 【SpringBoot基础知识】如何在springboot中使用多线程
1.楔子 在我们的系统中,经常会处理一些耗时任务,自然而然的会想到使用多线程,JDK给我们提供了非常方便的操作线程的API,为什么还要使用Spring来实现多线程呢? 1.使用Spring比使用JDK ...
- python替代goto_如何在 Python 中实现 goto 语句
Python 默认是没有 goto 语句的,但是有一个第三方库支持在 Python 里面实现类似于 goto 的功能:https://github.com/snoack/pyt.... 比如在下面这个 ...
- 如何在eclipse中修改jsp默认编码
在使用eclipse编程的时候,很多默认的编码都是iso-8859-1我们经常使用的,在eclipse中怎么修改jsp页面的默认编码呢. 第一步:打开eclipse,找到windows-->pr ...
- mock模拟的数据能增删改查吗_如何在Vue中使用Mockjs模拟数据的增删查改
之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...
- 如何在eclipse中写jsp文件
写jsp文件的条件: 1.eclipse 2.tomcat 以下是基于eclipse4.0版本的讲述 ---------------------------------------- 一.打开ecli ...
- 如何在php中使用jsp,JSP/PHP运用详解
JSP/PHP运用详解 1,DateTime类型数字 以下是引用片段: 当前时间System.DateTime的=新System.DateTime的(); 1.1小时分钟当前日期秒,当前时间= Sys ...
最新文章
- [20170315]数据类型interval day to second
- SQL Server 2000/2005 数据库分页
- Expression Blend实例中文教程(6) - 项目控件和用户交互控件快速入门
- zabbix-server无法启动
- 【JSOI2007】【BZOJ1029】建筑抢修(贪心,堆)
- 深度学习自学(三十四):换衣场景下行人重识别
- chrome 窗体高度_js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
- 基于阿里语音识别(ASR)C/C++ SDK2.0编写的unimrcp中间件
- 数组中的最长山脉java实现
- 无敌破坏王2口碑爆棚,从街游到手游你最爱哪款游戏呢?
- 20届最难毕业的前端程序员的一年前端工作经验总结
- eclipse绿色版
- Photoshop CC重磅功能发布:复杂抠图也能一键搞定
- python爬取推特图片_twitter图片视频批量下载
- FlashPro2000.C2000.TDS510.TI编程 器支持大部分TI芯片读写2812.28335等
- 向上累积频数怎么算_累计频数怎么求(怎样计算频数和频率)
- 四类九种移位寄存器总结(循环(左、右、双向)移位寄存器、逻辑和算术移位寄存器、串并转换移位寄存器、线性反馈移位寄存器LFSR|verilog代码|Testbench|仿真结果)
- 你的好帮手,优质chatgpt镜像网站
- [经验教程]2022京东618红包活动时间是什么时候开始什么时候结束及怎么领取京东618红包?
- 如何把webp压缩大小?在线webp压缩的工具推荐