快速业务通道

JSP的运行内幕

作者 凌众技术 来源 互联网 浏览 发布时间 2012-01-14

  代码清单3:JSP页面解析后的代码片断 
 

  String message = "Hello World!";
  out.print(message);



定制标签的解析过程 

  在一个中大型的Web应用中,通常使用JSP定制标签来封装页面显示逻辑。剖析容器对定制标签的解析过程,对我们深入理解定制标签的运行机理非常有帮助。下面我们以Struts1.1b中附带的struts-example应用的主页运行为例加以说明。 

  包含定制标签的index.jsp 

  Struts1.1b的下载地址是http://jakarta.apache.org/struts/index.html。将下载的包解压,在webapps目录下可以找到struts-example.war。将该War包拷贝到Tomcat的webapps目录下,Tomcat会自动安装此应用包。在浏览器中通过http://localhost:8080/struts-example访问struts-example应用,将显示应用的首页(见图1)。 
 

图一 应用的首页


  代码清单4:index.jsp

  <%@ page contentType="text/html;charset=UTF-8" language="java" %>

  <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

  <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

  <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

  <html:html locale="true">

  <head>

  <title><bean:message key="index.title"/></title>

  <html:base/>

  </head>

  <body bgcolor="white">

  …… 

  </body>

  </html:html>

 

我们仅以index.jsp中的<bean:message/>标签的解析为例进行分析,看容器是怎样把这个自定义标签解析成HTML输出的。上面代码省略了页面的其它显示部分。首先,查看上面浏览器中页面的源文件: 
 

  <html lang="zh">

  <head>

  <title>MailReader Demonstration Application (Struts 1.0)</title>

  </head>

  <body bgcolor="white">

  ……

  </body>

  </html>


  可见,容器已经把<bean:message key="index.title"/>替换成一个字串,显示为页面的标题。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号