Servlet chapter 3

1.Jsp生命周期分为两个阶段:

(1)转换阶段:由JSP引擎实现,涉及到生成servlet。在内部,这会为JSP页面生成一个类文件以便实现servlet接口。

(2)请求阶段:根据请求规范生成响应

(3)JSP转换为servlet后,容器调用在javax.servlet.jsp.JspPage 接口中定义的servlet上的生命周期方法如下

c1:jspInit():servlet初始化时调用此参数

c2:jspService():收到对JSP页面的请求时调用此方法

c3:jspDestroy():从服务中删除servlet之前调用的方法

2.JSP指令如下

(1)page指令 定义将关于JSP页面一般设置通知Web容器的属性。可以用page命令制定不同属性。

page指令的语法 <%@ page attribute_list %>

属性名称                              描述

language                   定义JSP页面的脚本语言

extends                     定义JSP生成的servlet扩展的父类

import                       讲包类或接口的列表导入生成的servlet中

session                     指定生成的servlet可不可以访问会话,如果赋值为true,将生成隐式对象,默认值为true

buffer                        指定输出缓冲区的大小。如果大小设置为none,则不进行缓冲。buffer大小的默认值时8KB

autoflush                  如果此属性设置为true,则自动刷新输出缓冲区。如果属性值设置为false,则缓冲区满是将引发异常,默认值为false

isThreadSafe          指定JSP页面是否线程安全

errorpage                指定将任何生成而未处理的异常指向到该URL。

isErrorPage            如果此属性值设置为true,则指定当前JSP页面为错误页面。isErrorPage属性的默认值为false

contentType          定义响应的MIME类型,contentTpye属性的默认值是text/html

(2)include指令 用于在JSP页面编译期间以相对URL的形式指定要插入的文件的名称

用法 <%@ include file = "URLName" %>

<%@ include file = "Superstroe.html" %>

(3)taglib指令 将自定义标记导入JSP页面中

taglib指令将其自身与URI相关联,以便唯一的识别一个自定义标记。他还和能将此自定义标记与JSP页面上使用的其他标记库区分开的标记前缀字符串相关联。

<%@ taglib uri = "tag_lib_URI" prefix="prefix" %> 

uri :查找自定义标记的TLD文件

prefix:定义用于区分自定义标记实例的前缀字符串

3.JSP页面的脚本元素

(1) JSP生命提供了一种第一变量和方法的机制

<%!

  int i = 0;

  int j = 0;

%>

(2) JSP表达式用于直接将值插入到输出中。

<%=  expression%>

(3)Scriptlet :JSP scriptlet 由包含在<%%>内的有效Java代码组成

4.JSP动作

JSP动作用于执行插入文件,重用bean,将用户转到其他页面及将对象实例化等任务。

使用JSP动作的语法为:<jsp:attribute>

JSP动作                              描述                                       属性                                            属性描述

<jsp:usebean>           调用并查找现有的bean       Id,class, scope, beanName    id唯一地表示bean的实例,class识别要从中实现bean对象的类,scope定义bean的范围,beanName 定义bean的参考名

<jsp:useBean id="FA" scope="application" class="test.FindAuthor" />

id 是test.FindAutor 在jsp页面的名字

scope="application" 表明bean全局可用

class="test.FindAuthor" 表明bean是java类中 test.FindAuthor的bean

<jsp:getProperty>      检索bean的属性                 name,property                             定义bean的名称,定义要从中检索的属性值

 

<jsp:setProperty>      用于设置bean的属性          name,property,value,param        指定bean的名称,定义要设置值的上个月需变更 为bean属性定义一个显式值  定义要使用的请求参数的名称

<jsp:setProperty name="FA" property="*">

name="FA" 表明在FA这个bean中创建属性

property=“*” 表明在FA这个bean中创建原class的所有属性及方法

<jsp:forward>            用于向目标页面转发请求             page                                    指定目标页面的URL

<jsp:include>            在当前JSP页面中包括一个文件   page,flush                  指定要包括的资源的URL。指定是否应该刷新缓冲区。flush值可以是true 或false.

<jsp:param>             定义要传送给待纳入或转发页面的参数  name,value          定义引用参数的名称,定义指定参数的值

<jsp:plugin>            执行Java applet 或 JavaBean 

5.JSP自定义标记

(1)自定义标记的类型

c1:空标记:只没有任何属性或主体的自定义标记

<td:wlcome />

c2: 带属性的标记:只可以定义属性来对标记行为进行自定义的自定义标记。

<td: welcome color="blue"></td:welcome>

c3: 带主体的标记:只带有嵌套自定义标记,脚本元素,动作HTML文本及JSP指令的自定义标记。

<td: welcome>

  <%=tody_date%>

</td: welcome>

c4: 嵌套标记:只一个自定义标记包含一个或多个自定义表的自定义标记的自定义标记集

<td1: ifTag condition "<%=eval>">

   <td2:valueTrue>

    The expression evaluates to true

   </td2:valueTrue>

</td1:ifTag>

(2)创建自定义标记的步骤

c1 开发标记库处理程序

所有自定义标记都有对应的标记处理程序,即实现自定义标记的功能的Java类

javax.servlet.jsp.targext 包提供了可用于开发标记处理程序的类和接口

 

c2 开发TLD文件

c3 将标记库纳入JSP页面

c4 部署应用程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值