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

📄 80.html

📁 关于jsp的一些好文章 主要介绍一些关于JSP的应用技巧方面的东西
💻 HTML
字号:

<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> Tomcat >> Apache Tomcat 4.0的新特性</title>
</head>
<body >

<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>

<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=http://www.jsp001.com/list_thread.php?int_attribute=2>精选文章</a>
>> <a href=http://www.jsp001.com/list_thread.php?forumid=11&int_attribute=2>Tomcat</a>
>> Apache Tomcat 4.0的新特性 [<a href=http://www.jsp001.com/forum/showthread.php?goto=newpost&threadid=80>查看别人的评论</a>]<br>

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

<p>
<CENTER><a href="http://www.jsp001.com/forum/newreply.php?action=newreply&threadid=80">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>0</font> 分,你认为它对你有帮助吗?
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=80&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>0</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=80&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>0</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=80&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>0</font>) 
				[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=80&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>0</font>) </p>
<script language="javascript" src="http://www.jsp001.com/include/read_thread_script.php?threadid=80"></script>
<p><CENTER>
Copyright &copy; 2001 - 2009 JSP001.com . All Rights Reserved <P>

<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>

</body>
</html>

⌨️ 快捷键说明

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