三思而行 --jsp基础篇

本文详细解析了JSP页面的生命周期过程,包括编译、初始化、执行和销毁阶段,以及JSP指令和行为标签的使用方法。同时介绍了JSP隐含对象和JavaBean的概念,并对比了POJO和JavaBean的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.jsp 是Java server page的缩写。

2.jsp 的生命周期

    (1).编译阶段 servlet容器编译servlet源文件,生成servlet类
    当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。
    编译的过程包括三个步骤:解析JSP文件-->将JSP文件转为servlet-->编译servlet。
    (2).初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
    容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了,一般来讲程序只初始化一次,servlet也是如此。通常情况下您可以在jspInit()方法中初始化数据库连接、打开文件和创建查询表。
    (3).执行阶段:调用与JSP对应的servlet实例的服务方法

    (4).销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例

3.JSP指令
    <%@ page ... %>     定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
    <%@ include ... %>     包含其他文件
    <%@ taglib ... %>     引入标签库的定义,可以是自定义标签

4.JSP行为
    JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件 产生相关的HTML等等。行为标签只有一种语法格式,它严格遵守XML标准 <jsp:action_name attribute="value" />
    下表罗列出了一些可用的JSP行为标签:
        jsp:include     用于在当前页面中包含静态或动态资源
        jsp:useBean     寻找和初始化一个JavaBean组件
        jsp:setProperty     设置 JavaBean组件的值
        jsp:getProperty     将 JavaBean组件的值插入到 output中
        jsp:forward     从一个JSP文件向另一个文件传递一个包含用户请求的request对象
        jsp:plugin     用于在生成的HTML页面中包含Applet和JavaBean对象
        jsp:element     动态创建一个XML元素
        jsp:attribute     定义动态创建的XML元素的属性
        jsp:body     定义动态创建的XML元素的主体
        jsp:text     用于封装模板数据

5.JSP隐含对象
    JSP支持九个自动定义的变量:
    request     HttpServletRequest类的实例
    response     HttpServletResponse类的实例
    out     PrintWriter类的实例,用于把结果输出至网页上
    session     HttpSession类的实例
    application     ServletContext类的实例,与应用上下文有关
    config     ServletConfig类的实例
    pageContext     PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
    page     类似于Java类中的this关键字
    Exception     Exception类的对象,代表发生错误的JSP页面中对应的异常对象

6.JavaBean
    提供一个默认的无参构造函数。
    需要被序列化并且实现了Serializable接口。

    可能有一系列的"getter"或"setter"方法。

7.POJO
    POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

    pojo和javabean的比较
    pojo的格式是用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。
   而javabean虽然数据的获取与pojo一样,但是javabean当中可以有其它的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值