[JSP]JSP 简介

1.1 概述

1.1.1 什么是 JSP?

  • JSP 全称是 Java Server Pages,是一种动态网页开发技术
  • 它与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。
  • JSP 是一种 Java Servlet,主要用于实现 Java Web 应用程序的用户界面部分。
  • JSP 技术 以 Java 语言作为脚本,它使用JSP标签在HTML网页中插入Java代码。标签通常以 <%开头以 %>结束。 
  • JSP文件后缀名为(*.jsp)。
  • JSP开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Window上。


1.1.2 JSP 的优点

与 ASP 相比:

  • 动态部分用 Java 编写,所以更加强大易用
  • 可以移植到多种不同的服务器和操作系统

与 PHP 相比:

  • 更好的工具支持

与 Servlet 相比:

  • 创建 HTML 更方便

与 Javascript 相比:

  • 虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。


1.2 工作原理

1.2.1 JSP 和 Servlet的区别

JSP 是一种 Servlet,但是它与 HttpServlet 的工作方式不太一样:

  • HttpServlet 是先编译后部署:先将源代码编译为 class 文件,然后部署到服务器下
  • JSP 是先部署后编译:先部署代码,然后编译为 class 文件。JSP 会在客户端第一次请求 JSP 文件时被编译为 HttpJspPage 类。该类会被服务器临时存放在服务器工作目录里面。

由于 JSP 只在客户端第一次请求时被编译,所以第一次请求 JSP 时会感觉比较慢。


1.2.2 JSP 工作原理

以下步骤表明了Web服务器是如何使用JSP来创建网页的:
  1. 就像其他普通的网页一样,您的浏览器发送一个HTTP请求给服务器。
  2. Web服务器识别出这是一个对JSP网页的请求,并且将该请求传递给JSP引擎。通过使用URL或者.jsp文件来完成。
  3. JSP引擎从磁盘中载入JSP文件,然后将它们转化为servlet。这种转化只是简单地将所有模板文本改用println()语句,并且将所有的JSP元素转化成Java代码。
  4. JSP引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。
  5. Web服务器的某组件将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生HTML格式的输出并将其内嵌于HTTP response中上交给Web服务器。
  6. Web服务器以静态HTML网页的形式将HTTP response返回到您的浏览器中。
  7. 最终,Web浏览器处理HTTP response中动态产生的HTML网页,就好像在处理静态网页一样。
以上提及到的步骤可以用下图来表示:

1.3 生命周期

JSP 也是一种 Servlet,运行时只有一个实例,它也有生命周期。

以下是JSP生命周期中所走过的几个阶段:
  1. 编译阶段:servlet容器编译servlet源文件,生成servlet类
  2. 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
  3. 执行阶段:调用与JSP对应的servlet实例的服务方法
  4. 销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例

很明显,JSP生命周期的四个主要阶段和servlet生命周期非常相似,下面给出图示:


JSP生命周期代码实例
<% @ page contentType = " text/html; charset=GB2312 "   %>
< html >< head >< title >life.jsp </ title ></ head >< body >

<%
  
private   int  initVar = 0 ;
  
private   int  serviceVar = 0 ;
  
private   int  destroyVar = 0 ;
%>
  
<% !
  
public  void jspInit(){
    initVar
++ ;
    System.out.println(
" jspInit(): JSP被初始化了 " + initVar + " " );
  }
  
public  void jspDestroy(){
    destroyVar
++ ;
    System.out.println(
" jspDestroy(): JSP被销毁了 " + destroyVar + " " );
  }
%>

<%
  serviceVar
++ ;
  System.out.println(
" _jspService(): JSP共响应了 " + serviceVar + " 次请求 " );

  
String  content1 = " 初始化次数 :  " + initVar;
  
String  content2 = " 响应客户请求次数 :  " + serviceVar;
  
String  content3 = " 销毁次数 :  " + destroyVar;
%>

< h1 > <% = content1  %> </ h1 >
< h1 > <% = content2  %> </ h1 >
< h1 > <% = content3  %> </ h1 >

</ body ></ html >


参考资料

Java Web 整合开发

http://www.w3cschool.cc/jsp/jsp-tutorial.html
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat是一个开源的Java Servlet容器,用于运行Java Web应用程序。它是Apache软件基金会的一个项目。而JSP(JavaServer Pages)是一种用于创建动态Web页面的技术,它允许在HTML文件中嵌入Java代码。\[1\] 在Tomcat中使用JSP,首先需要在Tomcat服务器上搭建一个本地环境。这包括安装Java环境和配置Tomcat服务器。一旦Tomcat服务器搭建完成,就可以在工程中创建JSP文件,并将其放置在指定的目录中。当访问Tomcat服务器时,服务器会读取工程的配置文件web.xml,并根据配置文件中的设置找到JSP文件并将其显示在浏览器中。\[2\] 学习JSP对于Android网络开发也是很有必要的,因为在与服务器进行交互时,了解JSP的原理可以帮助我们更好地理解整个访问过程。\[3\] #### 引用[.reference_title] - *1* [基于Tomcat环境下运行JSP文件(基础版)](https://blog.csdn.net/qq_33413510/article/details/125542090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JavaWeb学习----JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)](https://blog.csdn.net/weixin_33747129/article/details/86199137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值