Ps:好久没写博客了,不是我太懒,是因为苦逼的我出差去上海了,天天加班 刚回成都....
此问题一经提出,得到众多网友回答;其中对这位网友还在使用jsp开发表示同情和不看好jsp的还是比较多的:
当然,可以通过spring.resources.static-locations配置指定静态文件的位置。但是要特别注意,一旦自己指定了静态资源目录,系统默认的静态资源目录就会失效。所以系统默认的就已经足够使用了,尽量不要自定义。
最近在工作中重构一个老系统,烂的地方有很多,但是对于后台的页面模板(我指的是 JSP、FreeMarker、Velocity 这样的后台模板,JavaScript 前端模板不在此讨论范围内),却是我要说的部分,这似乎是一个被人遗忘的小角落。你可以很轻易地找到怎样重构 Java 类和方法的材料,你的 Java 代码可以写得很优雅;去搜搜 “重构”,到处是怎样重构你的 Java 代码、C++代码,我们也能找到许多前端设计师对于页面结构的重构,但是重构的范围远非至此。
静态化就是指把原本动态生成的html页面变为静态内容保存,用户客户端请求的时候,直接返回静态页面,不用再经过服务渲染,不用访问数据库,可以大大的减小数据库的压力,显著的提高性能。
Thymeleaf 是 Java 模板引擎,Spring 官方推荐使用,也是 Spring Boot 默认的模板引擎;前后端分离之前就是thymeleaf这类引擎模板的地盘;其支持HTML5的视图模板,能够无缝衔接springboot;主要用途能进行web开发和非web开发,比如页面渲染,代码生成,文档生成等等,做些日常的小工具是个很好的选择;
概述 SpringBoot开发: 1.创建SpringBoot应用,选中需要的场景模块。 2.SpringBoot已经默认将场景模块配置好,只需要在配置文件中指定少量的配置(数据库地址,用户名,密码)就可以运行起来。 3.只需要编写业务逻辑代码。 需要掌握自动配置原理:这个场景中SpringBoot默认配置好了什么,能不能修改,能修改哪些配置,能不能扩展。 XxxAutoConfiguration:帮我们给容器中自动配置组件 XxxProperties:配置类,封装配置文件中的内容 SpringBoo
JSP处理过程 就像其他普通的网页一样,您的浏览器发送一个HTTP请求给服务器。 Web服务器识别出这是一个对JSP网页的请求,并且将该请求传递给JSP引擎。通过使用URL或者.jsp文件来完成。 JSP引擎从磁盘中载入JSP文件,然后将它们转化为servlet。这种转化只是简单地将所有模板文本改用println()语句,并且将所有的JSP元素转化成Java代码。 JSP引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。 Web服务器的某组件将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生HTML格式的输出并将其内嵌于HTTP response中上交给Web服务器。 Web服务器以静态HTML网页的形式将HTTP response返回到您的浏览器中。 Web浏览器处理HTTP response中动态产生的HTML网页,就好像在处理静态网页一样。 JSP页面只有在首次访问的时候需要编译生成Servlet字节码,所以首次加载的速度会稍慢(可以忽略)
从架构中可以看出商品详情页面是一个表现层工程。 创建一个商品详情页面展示的Maven工程。
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。
为什么会有这一些列的文章呢?因为我发现网上没有成系列的文章或者教程,基本上是 Java 代码审计中某个点来阐述的,对于新人来说可能不是那么友好,加上本人也在学习 Java 审计,想做个学习历程的记录和总结,因此有了本系列的文章。
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易。一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则、强大的功能、高效的渲染效率、详尽的帮助说明与不断的更新与维护。常见的前端模板引擎有:
在本文中,我们将讨论如何为Spring Boot应用程序设置和使用Thymeleaf。
商品详情信息频繁访问 jsp页面被频繁解析 加载起来太慢, 因此我们要把网页静态化。
我们平常看见的网页都是动态,而HTML只能满足静态显式,为了能够在Web页面中加入动态功能,我们需要在HTML加入交互语句,使得静态页面变为动态。加入什么语句呢?JSP语句便是首要之选,它能够产生强大的动态HTML页面。
JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
一、JSP概述 1.1、JSP简介 一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。JSP是一种Java servlet,主要用于实现JavaWeb应用程序的用户界面部分。 网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。 JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以
JSP 全名是 Java Server Pages ,它是建立在 Servlet 规范之上的动态网页开发技术。在 JSP 文件
JSP(全称JavaServer Pages)是由 Sun Microsystems 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。JSP 技术以 Java 语言作为脚本语言,为用户的 HTTP 请求提供服务,并能与服务器上的其它 Java 程序共同处理复杂的业务需求。 JSP 将 Java 代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP 引入了被称为“ JSP 动作”的 XML 标签,用来调用内建功能。另外,可以创建 JSP 标签库,然后像使用标准 HTML 或 XML 标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP 文件在运行时会被其编译器转换成更原始的 Servlet 代码。JSP 编译器可以把 JSP 文件编译成用 Java 代码写的 Servlet,然后再由 Java 编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。 JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。 JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
freemarker可以脱离web使用 前一篇文章使用了普通的方法 这回说说结合spring pom额外引入这个jar包 <groupId>org.springframework</groupId>
FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包或者说是类库。它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。
前后端分离已成为互联网项目开发的业界标准使用方式,通过 nginx + tomcat 的方式(也可以中间加一个 nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS 等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。
前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。
现在来说,前后端分离开始更加流行,但是很多旧的项目,或者自己一个人写东西,我感觉使用模板引擎也是非常不错的选择,还有时候去找一些后台的开源模板,有一些也都用了Thymeleaf, 何况出于学习的态度,学哪种技术都是可以的
正如其名称所述,Spring MVC框架基于Model - View - Controller(MVC)设计模式,将应用程序的逻辑分为三层 【模式,视图和控制器】。 MVC在Spring中由以下组件实现:
JSP(Java sever pages):一种用于开发动态web页面(资源)的技术。 jsp页面是在服务器上运行的一个页面,一个jsp页面就是一个类。写jsp就像在写html,jsp允许在页面中编写
MPA(multiple page application)称为多页面应用,指多个页面的应用
IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目;
传统Java WEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了。SpringBoot支持如下页面模板语言
Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3C8F9icU-1662430755757)(https://cdn.jsdelivr.net/gh/BoBooY-GitHub/SpringBoot_NoteImgs@main/imgs/202209041108838.png)]
以前大家用的比较多的是Freemarker,但是我们今天的主角是Thymeleaf!
org.springframework.web.serviet.view是SpringMVC中将原本可能存在于Dispatcherservlet中的视图渲染逻辑得以剥离出来的关键组件。
什么是JSP JSP全名为Java Server Pages,java服务器页面。JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! 为什么需要JSP JSP是为了简化Servlet的工作出现的替代品,Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的。 简单使用一下JSP 在idea下生成一个JSP,我们来看一下JSP长什么样子 <%@ page contentType="text/html;charset=UTF-8" language="
使用插件运行后,就可以使用http://localhost:8080/jsp访问jsp了
今天课下,偶然听到有几个同学在讨论这么一个问题:Servlet 到底属于 MVC 模式的哪一层?谈到这个问题就考察你对于 MVC 模式的熟悉程度了。本篇我们就分别从 MVC 模式、Servlet 和 JSP 的原理来探讨一下,Servlet 到底属于哪一层?
CMS (Content Management System)即内容管理系统,不同的项目对CMS的定位不同,比如:一个在线教育网 站,有些公司认为CMS系统是对所有的课程资源进行管理,而在早期网站刚开始盛行时很多公司的业务是网站制 作,当时对CMS的定位是创建网站,即对网站的页面、图片等静态资源进行管理。
之前讲过,springboot项目源码里面有一个index.html页面,这个名字是固定的,项目一启动就会跳转到这个页面,没有的话那么就报错。
第十天: 1、使用freemarker实现网页静态化 2、ActiveMq同步生成静态网页
《SpringBoot快速入门》 中我们完成了一个简单的RESTful Service,体验了快速开发的特性。在留言中也有朋友提到如何把处理结果渲染到页面上。那么本篇就在上篇基础上介绍一下如何进行Web应用的开发。 静态资源访问 在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static /public /resources /META-INF/resources 举例:
大家好,我是 Leo,今天我们来学习 Thymeleaf,如果你对 Thymeleaf 比较陌生也不要紧,它很容易学习与理解,并有着自己鲜明的特色。
一、JSP的语法 1、JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作用:页面布局和美化 2、JSP的Java脚本表达式: 作用:输出数据到页面上 语法:<%=表达式%>(实际上就是调用输出流打印到页面上) 3、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段) 作用:书写Java代码逻辑 语法:<% 语句1; 语句2; %> 语句为Jav
通过IDEA创建maven项目。勾选脚手架工具。选择maven-archetype-webapp
大家好,我是 bigsai,今天我们来学习 Thymeleaf,如果你对 Thymeleaf 比较陌生也不要紧,它很容易学习与理解,并有着自己鲜明的特色。
可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 3-5 人搞定所有开发。页面由 JSP、PHP 等工程师在服务端生成,浏览器负责展现。基本上是服务端给什么浏览器就展现什么,展现的控制在 Web Server 层。
领取专属 10元无门槛券
手把手带您无忧上云