【JavaWeb】JSP快速入门

举报
陶然同学 发表于 2022/08/24 22:55:35 2022/08/24
【摘要】 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。 👀本期介绍 本期主要介绍JSP快速入门 文章目录 1.1、什么是 JSP(了解) 1.2、JSP 开发模板修改 1.3、JSP 快速入门 1.4、J...

👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

👀专栏介绍

【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。

👀本期介绍

本期主要介绍JSP快速入门

文章目录

1.1、什么是 JSP(了解)

1.2、JSP 开发模板修改

1.3、JSP 快速入门

1.4、JSP 运行原理(了解)

1.1、什么是 JSP(了解)

JSP 全名是 Java Server Pages ,它是建立在 Servlet 规范之上的动态网页开发技术。在 JSP 文件
中, HTML
代码与 Java 代码共同存在,其中, HTML 代码用来实现网页中静态内容的显示, Java 代码用来实
现网页中
动态内容的显示。为了与传统 HTML 有所区别, JSP 文件的扩展名为 .jsp
JSP 技术所开发的 Web 应用程序是基于 Java 的,它可以用一种简捷而快速的方法从 Java 程序生
Web
页面,其使用上具有如下几点特征:
跨平台:由于 JSP 是基于 Java 语言的,它可以使用 Java API ,所以它也是跨平台的,可以应用
不同的系统中,如 Windows Linux 等。当从一个平台移植到另一个平台时, JSP JavaBean
代码并不需要重新编译,这是因为 Java 的字节码是与平台无关的,这也应验了 Java 语言“一次编
译,到处运行”的特点。
业务代码相分离:在使用 JSP 技术开发 Web 应用时,可以将界面的开发与应用程序的开发分离
开。
开发人员使用 HTML 来设计界面,使用 JSP 标签和脚本来动态生成页面上的内容。在服务器端,
JSP 引擎(或容器,本书中指 Tomcat )负责解析 JSP 标签和脚本程序,生成所请求的内容,并将
执行结果以 HTML 页面的形式返回到浏览器。
组件重用: JSP 中可以使用 JavaBean 编写业务组件,也就是使用一个 JavaBean 类封装业务处理
代码或者作为一个数据存储模型,在 JSP 页面中,甚至在整个项目中,都可以重复使用这个
JavaBean ,同时, JavaBean 也可以应用到其他 Java 应用程序中。
预编译:预编译就是在用户第一次通过浏览器访问 JSP 页面时,服务器将对 JSP 页面代码进行编
译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,会直接执行编译好的
代码。这样不仅节约了服务器的 CPU 资源,还大大的提升了客户端的访问速度。
JSP Java 独有,除了可以书写 HTML/CSS/JS 代码,
更支持书写 Java 代码和 EL 表达式等强大功能。
扩展名 : .jsp

1.2JSP 开发模板修改

因为 JSP 默认编码是 ISO8859-1 ,不利于我们中文开发,所以我们需要修改 JSP 的编码为 UTF-8

1.3JSP 快速入门

JSP 文件建议创建在项目的 WebContent 目录下

1.4JSP 运行原理(了解)

JSP 的本质是一个 ServletJava 程序)

【以下为自学 - 扩展 - 了解】
JSP 的工作模式是请求 / 响应模式,客户端首先发出 HTTP 请求, JSP 程序收到请求后进行处理并
返回
处理结果。在一个 JSP 文件第一次被请求时, JSP 引擎(容器)把该 JSP 文件转换成为一个
Servlet ,而这
个引擎本身也是一个 Servlet JSP 的运行过程如图 1-6 所示。

JSP 的运行过程具体如下:
1 )客户端发出请求,请求访问 JSP 文件。
2 JSP 容器先将 JSP 文件转换成一个 Java 源文件( Java Servlet 源程序),在转换过程中,
如果发现
JSP 文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
3 )如果转换成功,则 JSP 容器将生成的 Java 源文件编译成相应的字节码文件 *.class 。该 class
文件
就是一个 Servlet Servlet 容器会像处理其他 Servlet 一样来处理它。
为了使同学们更容易理解 JSP 的运行原理,接下来简单介绍分析一下 JSP 所生成的 Servlet
码。
HelloWorld.jsp 为例,当用户第一次访问 HelloWorld.jsp 页面时,该页面会先被 JSP 容器转换
为一个
名称为 HelloWorld_jsp.java 的源文件,然后将源文件编译为一个名称为 HelloWorld_jsp.class
节码文件。
如 果 项 目 发 布 在 Tomcat webapps 目 录 中 , 源 文 件 和 .class 文 件 可 以 在 “ Tomcat
装 目 录
/work/Catalina/localhost/ 项目名 /org/apache/jsp ”下找到,如图 1-7 所示。

在图 1-7 中,地址栏中的路径多出了 org\apache\jsp ,这是由于 JSP 文件转换成类文件时会带有
包名,
该包名为 org.apache.jsp 。从图中还可以看出, HelloWorld.jsp 已被转换为源文件和 .class 文件。
打开
HelloWorld_jsp.java 文件,可查看转换后的源代码,其主要代码如下所示。(以下代码可以快速浏
览,确定
父类和方法名即可)

 

从上面的代码可以看出,HelloWorld.jsp 文件转换后的源文件没有实现 Servlet 接口,但继承了

org.apache.jasper.runtime.HttpJspBase 类。在 Tomcat 源文件中查看 HttpJspBase 类的源代码,
具体如下所示:
(以下代码可以快速阅读,确定父类即可)

 

HttpJspBase 源代码中可以看出, HttpJspBase 类是 HttpServlet 的一个子类,由此可
HelloWorld_jsp类就是一个 Servlet 。 结论: JSP 就是 Servlet ​​​​​​​

文章来源: blog.csdn.net,作者:陶然同学,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_45481821/article/details/126392845

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。