用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 程序开发教程 > JSP教程 > Jsp开发技巧 > 正文
jsp的内部方法使用
iTbulo.COM 2007-4-22 动态网站制作指南()

jspInit(){}:jsp Page被初始化的时候调用该方法,并且该方法仅再初始化时执行一次,所以客以在这里进行一些初始化的参数配置等一次性工作,由作者创建
jspDestroy(){}:jsp Page由于某种原因被关闭的时候调用该方法,有作者创建
jspService(){}:由jsp容器自动创建的处理jsp Page的方法,由jsp容器创建
    准确的说,jsp应该由三个内部方法,也就是jspInit(),_jspService(),jspDestroy(),这三个方法中jspInit ()和jspDestroy()可以由作者定义,而_jspService()由jsp容器根据jsp Pge的内容进行定义,不能由作者定义。
    先说一下jsp网页的内部原理,当jsp文件第一次被处理时,他会被转化成一个servlet。jsp引擎首先把jsp文件转化成一个java源文件,如果在转化过程中发生错误的话,会立刻中止,同时向服务器端和客户端发送错误信息报告;如果转化成功了,就会产生一个class类。然后再创建一个 Servlet对象,首先执行jspInit()方法进行初始化操作,由于整个执行过程jspInit()方法只执行一次,所以可以在这个方法中进行一些必要的操作比如连接数据库,初始化部分参数等等,接着执行 _jspService()方法,对客户端的请求进行处理,对每一个请求会创建一个线程,如果同时有多个请求需要处理的话就会创建多个线程,由于 servlet长期贮存与内存中,所以执行速度快,但是由于初始化需要编译,所以第一次执行还是比较慢的,如果由于某种原因导致jsp网页关闭或者销毁的话会执行jspDestroy()方法。

<%@ page language="java" contentType="text/html; charset=gbk"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

<title>测试</title>

</head>

<body>

<%!

public void jspInit(){

System.out.print("开始");

}

%>

<%!

public void jspDestroy(){

System.out.print("结束");

}

%>

</body>

</html>
    执行这个jsp文件再关闭,查看tomcat/logs下的当天的日志,会发现内容是“开始结束”,这就是因为开始执行jsp文件的时候调用 jspInit()方法,在日志中记录下内容“开始”,在关闭jsp文件的时候调用jspDestroy()方法,在日志中记录下内容“结束”。

文章搜索
相关资讯
相关文章 相关下载
在JSP中如何实现MD5加密
教你轻松应对JSP连接MySQL数据库问题
用按钮调用jsp代码怎么写?
jsp中文问题解决方案(完整版)
JSP服务器的安装与配置
焦点信息