我是灼灼,一只初学Java的大一金渐层。
向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄;追逐过王尔德、王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔;热爱文学的浪潮,白日梦到底却总在现实里清醒;艳羡平静又极度渴盼奔跑的力量。
欢迎与我交流鸭· QQ:1517526827;
个人博客:https://blog.csdn.net/weixin_52777510?spm=1001.2101.3001.5343

jsp和html的区别

第一次做项目时遇到的问题

  • 在web项目的具体框架中,既可以编写jsp页面测试,也可以编写html页面,感觉所用的标签是差不多的,所以两者有什么区别嘛?

内容参考博客:https://blog.csdn.net/yangdan1025/article/details/82153426

  1. JSP?

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签HTML网页中插入Java代码。标签通常以<%开头以%>结束。

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 servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

  1. HTML?

HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言。最通俗的说法就是一种超链接,比如收藏一个网页就是保存它的链接。

简单说:

  • HTML 是用来描述网页的一种语言。
  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

  1. JSP和HTML的区别

jsp和html的区别是:目的的区别、网页上的区别、书写上的区别

1、目的的区别:

HTML文本标记语言,它是静态页面,和JavaScript一样解释性语言。因为只要有一个浏览器那么它就可以正常显示出来,而不需要指定的编译工具,只需在TXT文档中写上HTML标记就可以正常显示。

JSP是Java服务端的页面,所以它是动态的,它是需要经过JDK编译后把内容发给客户端去显示,Java文件编译后会产生一个class文件,最终执行的就是这个class文件。

2、网页的区别:

JSP被用作动态页面的制作,而HTML一般用作静态页面的制作。动态页面的内容一般都是依靠服务器端的程序来生成的,不同人、不同时候访问页面,显示的内容都可能不同。

网页设计者在写好服务器端的页面程序后,不需要手工控制,页面内容会按照页面程序的安排自动更改变换

3、书写的区别:

HTML是w3c规范的一种网页书写格式,是一种统一协议语言,静态网页。网页大部分都是基于HTML语言的。JSP是一种基于HTML的动态语言,JSP可以实现HTML的所有任务。


  • HTML页面是静态页面,也就是事先由用户写好放在服务器上,固定内容,不会变,由web服务器向客户端发送,平时上网看的网页都是大部分都是基于html语言的。

  • JSP页面是有JSP容器执行该页面的Java代码部分然后实时生成动态页面,可动态更新页面上的内容。

  • 动态网页,是指跟静态网页相对的一种网页编程技术。动态页面的内容一般都是依靠服务器端的程序来生成的,不同人、不同时候访问页面,显示的内容都可能不同。网页设计者在写好服务器端的页面程序后,不需要手工控制,页面内容会按照页面程序的安排自动更改变换。

  • 静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了,不管是谁在任何时候看到的页面内容都是一样的,一成不变,除非修改页面代码。静态html页面文件,可以直接用本地的浏览器打开。

总而言之区别是:

  • 定义上HTML页面是静态页面可以直接运行,JSP页面是动态页它运行时需要转换成servlet;

  • HTML能直接打开,jsp只能发布到Tomact等服务器上才能打开;

  • html和jsp的表头不一样,这个是JSP的头“ <%@ page language=”java” import=”java.util.*” pageEncoding=”gbk”%>”,在表头中有编码格式和导入包等。也是很好区分的,在jsp中用<%%>就可以写Java代码了,而html没有<%%>

  • 简单说,jsp在后台通过服务器解析为相应的html,然后在供浏览器识别显示。


补充

在返回查询的实时性上,ajax不如jsp.php.asp等动态语言。

asp\jsp\php为动态的语言,是可以和服务器交互查询数据的。
html只是静态的语言,所谓静态是指不能和服务器交互、查询数据等。

但是任何的动态语言都不能脱离html而单独存在于一个网站上,因为没有静态的页面显示,无法给用户返回数据。
我们现在看到的网页全是静态页面,都是由HTML组成的。

可以把HTML看作是界面,把asp\jsp\php等看作是后台代码。

ajax的显示效果比jsp好,因为它实现的是无刷新技术,可以不用刷新、跳转网页就可以查询、返回数据,但实时性不太好控制。


ajax是一种异步刷新技术

非ajax的比如说:a页面是一个注册信息的页面,用户写完后,可以点"注册"后,提交到b页面(在b页面中检测用户名是否已注册),这时产生了一个刷新页面的操作。

而ajax是可以在a页面中就直接不用刷新页面就可以检测用户名是否被注册(现在的各大网站的用户注册大部分采用的是ajax技术检测的).

但是,在ajax检测完页面后,到页面提交这段时间可能会有人注册你正在注册的用户名,所以,还要在b页面中再检测一次.

还有,比如说在服务器过慢时(虽然这种情况不多),可能长时间无法返回检测用户是否已注册的信息.

这就是ajax实时性的问题,ajax不可能做到这两点。


什么情况下不适合用ajax

栗子:

ajax你可以当作是你正在浏览网页且听着歌,
而非 ajax只能是浏览完网页再听歌,不能同时.

  • 当两种事情无明显的先后顺序时,可以用ajax技术,而且这样做方便使用者.

  • 但是当两件事有先后顺序时,比如用户要先注册,后才能登录,这时就不能用ajax同时进行,因为这样易出错.



如果对你有帮助的话不要忘记一键三连噢~
谢谢鸭~

初次编写于2021/2/20日;

【项目小知识】JSP和HTML的区别相关推荐

  1. 期货期权小知识(期权期货的区别通俗易懂)

    期权的基础知识 期权与期货的区别 (1)买卖双方的权利义务 期货交易中,买卖双方具有合约规定的对等的权利和义务.期权交易中,买方有以合约规定的价格是否买入或卖出期货合约的权利,而卖方则有被动履约的义务 ...

  2. python解码和编码的区别_python基础小知识,is和==的区别,编码和解码

    1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...

  3. Java易混小知识——equals方法和==的区别

    一.equals方法和==的区别 1.equals是String对象的方法,可以通过"."调用. 2.== 是一个运算符. 二.常用的比较用法 1.基本数据类型比较. equals ...

  4. 安卓期末作品小项目_每日一个财务小知识——洞悉洞晰财务报告第一季

    财务报告 洞悉洞晰财务报告 目录 01/账务报告概述 02/资产负债表 03/利润表 04/现金流量表 05/所有者权益变动表 06/附注 一.财务报告概述 (一)财务报告及其目标 财务报告是指企业对 ...

  5. vue项目中的小知识--快捷键-vue插件版本号--vscode插件等

    vue项目中的小知识--快捷键等 0 版本号 1 代码片段的获取: 2 vscode中一些常用扩展 3 进入另一个文件夹,返回上一级 4查看Vue的版本和Vue/CLI的版本 5 --save-dev ...

  6. JavaWeb项目笔记包括jsp的用法selevt,HTML5

    -------------------<认识HTML5>----------------- 1 <>生成的快捷键 是table键 ctrl+D是直接复制一行 2 <h1& ...

  7. 项目开发知识盲区整理2

    项目开发知识盲区整理2 SpringBoot运行Test时报错:SpringBoot Unable to find a @SpringBootConfiguration mp代码生成模板--mybai ...

  8. Python小知识 | 这些技能你不会?(终章)

    零.写在前面 写完今天这一篇,Python小知识这块就完了,一共四篇,也就是我过了一遍<零压力学Python>后记录下来的一些重要的点,希望对初学者或者复习Python基础的读者有所帮助, ...

  9. [vue] vue和微信小程序写法上有什么区别?

    [vue] vue和微信小程序写法上有什么区别?写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下 ...

最新文章

  1. Sql查询一个列对应多个列
  2. SQLite学习手册(C/C++接口简介)
  3. 4.13 apache用户认证,跳转和访问日志
  4. mysql数据库定点任务_MySQL数据库Event定时执行任务详解
  5. 计算机语言python发音_Python如何像scratch一样朗读文字?
  6. Luogu 3267 [JLOI2016/SHOI2016]侦察守卫
  7. c语言子线程给主线程发信息,如何用C语言实现多线程
  8. 一文了解 Java 应用程序性能优化指南
  9. 运行aspnet时要求启用windows集成身份验证
  10. Yii Framework2.0开发教程(8)输入验证
  11. java .class的作用_Java中Class类的作用与深入理解
  12. 智能手机玩转Smart3D三维建模介绍
  13. 综合使用公网/专网等频段!今日,工信部发布工业互联网和物联网无线电频率使用指南(附下载)...
  14. Winform UI界面设计例程——侧边框栏折叠
  15. Euler公式求解微分方程
  16. linux软路由 iptv,软路由实现任意端口看IPTV电视的方法
  17. mysql备份 1044_Navicat访问MySQL出现1044/1045错误的解决方法
  18. 表示表元的背景的html,表示表元的背景色彩的HTML 是()
  19. 卸载计算机上32位程序,Win7如何卸载32位Office程序丨Win7卸载32位Office程序解决方法...
  20. 使用VLC开发库,预览采集卡视频方法

热门文章

  1. excel中怎么生成指定年份的日期
  2. ssm框架sql换成MySQL_SSM框架之mybatis
  3. 文思创新面试总结(2)
  4. MySQL时间戳转日期(年月日)
  5. nDCG笔记及在spark中的实现
  6. 苹果电脑安装win11双系统
  7. SQL server中的类似Java的三目表达式及游标使用
  8. 最新网页域名防封系统详解(景区旅游、场地展会等相关推广文案)
  9. C语言代码规范(二)空格
  10. c语言以空格分割字符串_C语言strtok()函数:用指定的分隔符分解字符串