⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0154.htm

📁 JspServlet教程专栏 对javaservlet讲述的非常详细
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>Apache Tomcat 4.0的新特性</strong></big></p>
<div align="right">---&nbsp;(文/Robot)</div>

<br>(编者按:tomcat是JSP技术发展的先锋,我已经搞不清tomcat现在到第几版了。4.0版应该是未来的最新的一个版本,将随着servlet/jsp新标准的推出而推出。通过本文的介绍,也许你可以看到一些jsp的未来。)<br>
<br>
简介<br>
Tomcat4.0包含三个主要的部分,包括:<br>
*&nbsp;Catalina&nbsp;-&nbsp;一个符合Servlet&nbsp;API规范2.3的Servlet&nbsp;Container<br>
*&nbsp;Jasper&nbsp;-&nbsp;一个符合JSP规范1.2的JSP编译器和运行环境<br>
*&nbsp;Webapps&nbsp;-&nbsp;Tomcat中包含的一些例子和用于测试的web例程,以及相关文档。<br>
<br>
Tomcat4.0的一个主要目的是支持目前正在处于测试版的Servlet2.3规范和JSP1.2规范的新特性。本文主要介绍Tomcat4.0实现的这些新特性以及这些新特性目前在tomcat中的实现情况。<br>
<br>
Servlet&nbsp;API&nbsp;规范2.3<br>
<br>
应用程序中的事件:<br>
你可以在web.xml文件中注册相应的事件监听器,当这些事件发生时,在应用程序中可以收到相应的事件通知,这些事件包括:<br>
-&nbsp;应用启动<br>
-&nbsp;应用关闭<br>
-&nbsp;应用的属性的增加、删除、被替换&nbsp;<br>
-&nbsp;Session创建<br>
-&nbsp;Session失效、超时<br>
-&nbsp;Session的属性的增加、删除、被替换<br>
<br>
事件监听器的功能被加入到Catalina,看来效果非常好。在Webapps中的web应用examples中就有两个监听器的例子用于通过ServerletContext.log()记录相应的事件。<br>
<br>
Servlet&nbsp;Fliter<br>
你能够在web.xml文件中注册类似与Catalina核心中Valves功能类似的的Filter。Filter主要具有以下特性:<br>
-&nbsp;Filter能够映射成相应的URL或特定的Servlet。<br>
-&nbsp;Filter能被用于对request,reponse对象进行预处理、或后处理。<br>
-&nbsp;Filter能封装request、response对象,比如可以对对象中的内容进行转换。<br>
-&nbsp;Filter能够对访问请求直接响应,然后返回给客户端,而不仅仅进行访问请求的传送,比如,你可以在应用级进行用户认证。<br>
<br>
与这些特性相关联,当servlet传递参数给RequestDispatcher时就可以做这种类型的封装。而在以前,你只能将初始的request对象传递给Servlet&nbsp;Container,并且从Servlet&nbsp;Container中得到返回的response对象。Servlet&nbsp;filter的功能目前已经加入到Catalina中,并通过了初步测试。在应用examples中有一个filter用于路径映射和向调用servlet的映射("/servlet/*"),其中存放了最终传递给执行Servlet的request对象属性。<br>
<br>
安装扩展库的依赖关系<br>
<br>
Web应用程序或WEB-INF/lib中的jar文件,现在可以声明对特定版本外部库的依赖关系,这些外部库是由Servlet&nbsp;Container作为共享扩展提供的。在Catalina中目前还没有完全实现这部分功能。<br>
<br>
国际化支持<br>
Catalina现在支持从Locale向字符集的映射,在ServletRequest中增加了一个新的方法setCharacterEncoding()&nbsp;,在这一方面,还需要有个多的测试和功能增强。<br>
<br>
<br>
Web应用的类装载器<br>
Servlet规范草案中9.6.2节中定义了与Web应用中类装载器相关的需求和建议。这些需求在Catalina中被遵照执行。<br>
<br>
Servlet&nbsp;2.3应用程序分发描述符的DTD<br>
在Catalina中包括一个非正式的用于解析web.xml文件的DTD(catalina/src/conf/web_23.dtd)<br>
它将被正式发布的DTD所替代。<br>
<br>
<br>
JSP规范1.2<br>
JSP&nbsp;对Include&nbsp;flush="false"的支持<br>
这个变化通过在标准或定制的标记中嵌套使用&lt;jsp:include>标记,允许利用内含的servlet进行缓存、处理,并产生的输出。这个变化取决于前述的对RequestDispatcher.include()的功能的增强功能。<br>
<br>
JSP页面的XML视图<br>
JSP1.2的实现要求输入不仅要符合JSP语法,而且要符合XML语法。目前正在将Jasper的parser进行转换,使得其能接受任何一种类型的输入。<br>
<br>
属性编辑器的利用<br>
假如一个应用对java类的一个特定属性注册了一个属性编辑器(PropertyEditor),那么这个属性编辑器的setAsText()方法将用于将文本格式的属性(比如request对象的一个参数)转换为该属性的内部表示。假如没有定义属性编辑器,那么就采用前述的缺省属性编辑器进行转换。<br>
<br>
定制标记库验证页面的合法性<br>
在定制标记库中增加了一个新的编译阶段用于检查页面的XML视图,如果检测到错误,就抛出一个转换时异常。在这当中,可用于验证:<br>
-&nbsp;从语义上不能被TLD中定义的信息验证的嵌套定制标记<br>
-&nbsp;误用或滥用JSP中定制标记特性。比如,你可以用一个验证子禁止JSP使用Java语句块。<br>
<br>
增强的迭代支持<br>
增强了的定制tag机制支持在不做内容嵌套的前提下进行迭代的能力。这将优化这类非常常见的例子的性能,比如通过迭代来表示一个表格的处理结果,而不用显式对表格中每一行进行处理。<br>
<br>
定制tag库能够声明应用监听器<br>
一个定制的tag库能够利用servlet2.3中的新特性,声明一个监听器,用于监听应用程序相关的事件。<br>
<br>
附加的TLD元素<br>
在许多简单的例子中,声明变量时,采用附加的TLD元素可不用书写TagExtraInfo类<br>
<br>
在Tag接口中增加resetCustomAttributes()方法<br>
通过由Servlet&nbsp;Container调用附加的方法,使得在循环调用一个tag的实例前调用该方法.<br>
<br>
<br>
(**转摘请注明作者)&nbsp;

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -