前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JavaWeb】JSP快速入门

【JavaWeb】JSP快速入门

作者头像
陶然同学
发布2023-02-27 13:40:40
7050
发布2023-02-27 13:40:40
举报
文章被收录于专栏:陶然同学博客

👀专栏介绍

【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.2、JSP 开发模板修改

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

1.3、JSP 快速入门

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

1.4、JSP 运行原理(了解)

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 。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 👀专栏介绍
  • 👀本期介绍
  • 文章目录
  • 1.1、什么是 JSP(了解)
  • 1.2、JSP 开发模板修改
  • 1.3、JSP 快速入门
  • 1.4、JSP 运行原理(了解)
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档