jsp的内部方法使用
2007-04-21 21:56
232 查看
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的内部方法使用
- jsp的内部方法使用
- java使用jsp servlet来防止csrf 攻击的实现方法(二)
- JSP中ueditor的使用方法步骤
- JSP中使用正则表达式之match 方法
- php内部字符串编码转换函数mb_convert_encoding使用方法介绍
- 微信支付证书问题C#使用Https访问加载SSL证书本地调试正常服务器IIS内部错误解决方法
- jsp生成html(方法简单,只用使用一个serlvet)
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- struts2之在jsp中使用静态方法
- IOS_Swift1之宏、闭包、UITableView、内部变量、类方法的使用
- 使用Java提供的方法防止IE缓存JSP文件
- kprobes查看内核内部信息的使用方法
- JSP内置对象request的方法的使用
- jsp中request的常见使用方法
- Java:使用匿名内部类在方法内部定义并启动线程
- JSP数据库连接类使用方法
- JSP开发:Session对象使用环境及主要方法
- 手把手教你:jsp中无法使用My97DatePicker的解决方法
- 在JSP中使用Cookie,以及操作中文的乱码解决方法