【JSP】介绍与转换规则

目录

1.jsp介绍

2.jsp的元素

3.jsp的生命周期

4.jsp页面实现类的继承结构

5.jsp页面实现类的转换规则

6.jsp页面转换示意图


1.jsp介绍

jsp是一种动态页面技术,其可以用来制作一个动态页面。一个jsp页面在程序运行过程中会被转换成一个servlet类,浏览器向服务器发送请求被该转换后的类接收以后会做出相应的响应。通过向服务器输出HTML代码以及将java代码运行结果作为HTML代码的一部分实现动态页面的效果

2.jsp的元素

剪视频主要包括如下元素:

脚本元素

jsp声明                格式:<%!声明语句%>        

jsp小脚本            格式:<%脚本语句%>

jsp表达式            格式:<%=表达式语句%>

jsp指令                格式:<%@指令%>

jsp动作                格式:<前缀:动作 参数>

表达式语言          EL表达式,格式:${表达式}

jsp注释                格式:<%----%>、<!---->、//、/**/

文本模板

 其中声明里面的声明语句可以是java中的合理的声明,可以用来声明成员或者方法,必须有分号结束,成员可以看做是servlet中的一个成员变量,因为servlet是单例的,所以成员声明之后不会再做改变,多个请求之间将一直共同使用这个变量

小脚本中的脚本语句是java代码,可以进行逻辑运算等;

表达式语句是java表达式的占位符,最后会将表达式的结果输出到输出流中,不能有分号结束;

指令有三种类型:page、include、taglib,page用来说明页面的总体特性,包括字符集和输出格式等;include用来将别的页面包含到该jsp页面中;

动作有多种,根据不同的动作有不同的作用;

表达式语言值EL表达式,通过使用EL表达式可以很方便的获取页面中的数据等;

注释有jsp自己的注释<%----%>,也可以使用HTML和java的注释;

文本模板就是除上面部分的所有都是文本模板。

3.jsp的生命周期

一个jsp页面的整个生命周期为:在服务器启动后,第一次访问该jsp页面时,服务器容器会将jsp页面根据一定的规则转化成一个页面实现类,这个页面实现类就是一个servlet类。在转换成一个页面实现类后,会为其创建一个对象,然后调用jspInit方法。之后这个类的对象会一直保存在服务器容器中,对之后的每一次请求都会执行其_JspService方法,直到最后服务器关闭调用jspDestroy方法。

4.jsp页面实现类的继承结构

jsp页面的实现类之所以是一个servlet是因为其继承了HttpJspBase类,这个类又实现了HttpJSPPage接口,这个接口又继承了与它在同一个包下的JspPage接口,然后这个接口又继承了Servlet接口,所有jsp页面的实现类是一个servlet。

对于这个继承体系中,JspPage接口声明了jspInit和jspDestroy两个方法,HttpJspPage接口声明了_JspService方法,三者分别对应Servlet接口的init、destroy、service方法。

5.jsp页面实现类的转换规则

对于jsp声明,会将其转换成jsp实现类的一个成语变量;对于jsp小脚本,会将其里面的内容转换成_JspService方法的方法体;对于jsp表达式,会将其转换成_JspService方法的方法体,然后使用out.print方法将其输出到响应体中;对于指令,如果是import指令,会将其转换成java代码,用来导入相关的类;对于行为,会根据相关的厂商进行不同的转换;对于EL表达式,会将其运算结果使用out.write语句输出;对于文字模板,会使用out.write语句输出。

正是因为jsp页面实现类会将文字模板和表达式结果通过out进行输出,所以客户端才能收到一个HTML代码并将其转换成一个HTML页面,进而实现动态页面的效果。

6.jsp页面转换示意图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值