`

tomcat web.mxl (2)

阅读更多

Tomcat web.xml(2)转载

<script></script>标签: 分类:JAVAEE篇
程序清单5-10 web.xml(说明JSP页面的init参数的摘录)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<!-- ... -->
<servlet>
<servlet-name>InitPage</servlet-name>
<jsp-file>/InitPage.jsp</jsp-file>
<init-param>
<param-name>firstName</param-name>
<param-value>Bill</param-value>
</init-param>
<init-param>
<param-name>emailAddress</param-name>
<param-value>gates@oracle.com</param-value>
</init-param>
</servlet>
<!-- ... -->
<servlet-mapping>
<servlet-name> InitPage</servlet-name>
<url-pattern>/InitPage.jsp</url-pattern>
</servlet-mapping>
<!-- ... -->
</web-app>


5.3 提供应用范围内的初始化参数
一般,对单个地servlet或JSP页面分配初始化参数。指定的servlet或JSP页面利用ServletConfig的 getInitParameter方法读取这些参数。但是,在某些情形下,希望提供可由任意servlet或JSP页面借助ServletContext 的getInitParameter方法读取的系统范围内的初始化参数。
可利用context-param元素声明这些系统范围内的初始化值。context-param元素应该包含param-name、param-value以及可选的description子元素,如下所示:
<context-param>
<param-name>support-email</param-name>
<param-value>blackhole@mycompany.com</param-value>
</context-param>
可回忆一下,为了保证可移植性,web.xml内的元素必须以正确的次序声明。但这里应该注意,context-param元素必须出现任意与文档有关的元素(icon、display-name或description)之后及filter、filter-mapping、listener或 servlet元素之前。
5.4 在服务器启动时装载servlet
假如servlet或JSP页面有一个要花很长时间执行的init(servlet)或jspInit(JSP)方法。例如,假如init或jspInit方法从某个数据库或 ResourceBundle查找产量。这种情况下,在第一个客户机请求时装载servlet的缺省行为将对第一个客户机产生较长时间的延迟。因此,可利用servlet的load-on-startup元素规定服务器在第一次启动时装载servlet。下面是一个例子。
<servlet>
<servlet-name> … </servlet-name>
<servlet-class> … </servlet-class> <!-- Or jsp-file -->
<load-on-startup/>
</servlet>
可以为此元素体提供一个整数而不是使用一个空的load-on-startup。想法是服务器应该在装载较大数目的servlet或JSP页面之前装载较少数目的servlet或JSP页面。例如,下面的servlet项(放置在Web应用的WEB-INF目录下的web.xml文件中的web-app元素内)将指示服务器首先装载和初始化SearchServlet,然后装载和初始化由位于Web应用的result目录中的index.jsp文件产生的 servlet。
<servlet>
<servlet-name>Search</servlet-name>
<servlet-class>myPackage.SearchServlet</servlet-class> <!-- Or jsp-file -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Results</servlet-name>
<servlet-class>/results/index.jsp</servlet-class> <!-- Or jsp-file -->
<load-on-startup>2</load-on-startup>
</servlet>

6 声明过滤器

servlet版本2.3引入了过滤器的概念。虽然所有支持servlet API版本2.3的服务器都支持过滤器,但为了使用与过滤器有关的元素,必须在web.xml中使用版本2.3的DTD。
过滤器可截取和修改进入一个servlet或JSP页面的请求或从一个servlet或JSP页面发出的相应。在执行一个servlet或JSP页面之前,必须执行第一个相关的过滤器的doFilter方法。在该过滤器对其FilterChain对象调用doFilter时,执行链中的下一个过滤器。如果没有其他过滤器,servlet或JSP页面被执行。过滤器具有对到来的ServletRequest对象的全部访问权,因此,它们可以查看客户机名、查找到来的cookie等。为了访问servlet或JSP页面的输出,过滤器可将响应对象包裹在一个替身对象(stand-in object)中,比方说把输出累加到一个缓冲区。在调用FilterChain对象的doFilter方法之后,过滤器可检查缓冲区,如有必要,就对它进行修改,然后传送到客户机。
例如,程序清单5-11帝国难以了一个简单的过滤器,只要访问相关的servlet或JSP页面,它就截取请求并在标准输出上打印一个报告(开发过程中在桌面系统上运行时,大多数服务器都可以使用这个过滤器)。

程序清单5-11 ReportFilter.java
package moreservlets;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;



public class ReportFilter implements Filter {
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest)request;
System.out.println(req.getRemoteHost() +
" tried to access " +
req.getRequestURL() +
" on " + new Date() + ".");
chain.doFilter(request,response);
}

public void init(FilterConfig config)
throws ServletException {
}

public void destroy() {}
}

一旦建立了一个过滤器,可以在web.xml中利用filter元素以及filter-name(任意名称)、file-class(完全限定的类名)和(可选的)init-params子元素声明它。请注意,元素在web.xml的web-app元素中出现的次序不是任意的;允许服务器(但不是必需的)强制所需的次序,并且实际中有些服务器也是这样做的。但这里要注意,所有filter元素必须出现在任意filter-mapping元素之前,filter-mapping元素又必须出现在所有servlet或servlet-mapping元素之前。
例如,给定上述的ReportFilter类,可在web.xml中作出下面的filter声明。它把名称Reporter与实际的类ReportFilter(位于moreservlets程序包中)相关联。
<filter>
<filter-name>Reporter</filter-name>
<filter-class>moresevlets.ReportFilter</filter-class>
</filter>
一旦命名了一个过滤器,可利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。关于此项工作有两种选择。
首先,可使用filter-name和servlet-name子元素把此过滤器与一个特定的servlet名(此servlet名必须稍后在相同的 web.xml文件中使用servlet元素声明)关联。例如,下面的程序片断指示系统只要利用一个定制的URL访问名为SomeServletName 的servlet或JSP页面,就运行名为Reporter的过滤器。
<filter-mapping>
<filter-name>Reporter</filter-name>
<servlet-name>SomeServletName</servlet-name>
</filter-mapping>
其次,可利用filter-name和url-pattern子元素将过滤器与一组servlet、JSP页面或静态内容相关联。例如,相面的程序片段指示系统只要访问Web应用中的任意URL,就运行名为Reporter的过滤器。
<filter-mapping>
<filter-name>Reporter</filter-name>
<url-pattern>

public class ContextReporter implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
System.out.println("Context created on " +
new Date() + ".");
}

public void contextDestroyed(ServletContextEvent event) {
System.out.println("Context destroyed on " +
new Date() + ".");
}
}


程序清单5-21 web.xml(声明一个监听程序的摘录)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<!-- ... -->
<filter-mapping> … </filter-mapping>
<listener>
<listener-class>package.ListenerClass</listener-class>
</listener>
<servlet> ... </servlet>
<!-- ... -->
</web-app>


15 J2EE元素

本节描述用作J2EE环境组成部分的Web应用的web.xml元素。这里将提供一个简明的介绍,详细内容可以参阅http://java.sun.com /j2ee/j2ee-1_3-fr-spec.pdf的Java 2 Plantform Enterprise Edition版本1.3规范的第5章。
l distributable
distributable 元素指出,Web应用是以这样的方式编程的:即,支持集群的服务器可安全地在多个服务器上分布Web应用。例如,一个可分布的应用必须只使用 Serializable对象作为其HttpSession对象的属性,而且必须避免用实例变量(字段)来实现持续性。distributable元素直接出现在discription元素之后,并且不包含子元素或数据,它只是一个如下的标志。
<distributable />
l resource-env-ref
resource- env-ref元素声明一个与某个资源有关的管理对象。此元素由一个可选的description元素、一个resource-env-ref-name 元素(一个相对于java:comp/env环境的JNDI名)以及一个resource-env-type元素(指定资源类型的完全限定的类),如下所示:
<resource-env-ref>
<resource-env-ref-name>
jms/StockQueue
</resource-env-ref-name>
<resource-env-ref-type>
javax.jms.Queue
</resource-env-ref-type>
</resource-env-ref>
l env-entry
env- entry元素声明Web应用的环境项。它由一个可选的description元素、一个env-entry-name元素(一个相对于 java:comp/env环境JNDI名)、一个env-entry-value元素(项值)以及一个env-entry-type元素(java.lang程序包中一个类型的完全限定类名,java.lang.Boolean、java.lang.String等)组成。下面是一个例子:
<env-entry>
<env-entry-name>minAmout</env-entry-name>
<env-entry-value>100.00</env-entry-value>
<env-entry-type>minAmout</env-entry-type>
</env-entry>
l ejb-ref
ejb- ref元素声明对一个EJB的主目录的应用。它由一个可选的description元素、一个ejb-ref-name元素(相对于 java:comp/env的EJB应用)、一个ejb-ref-type元素(bean的类型,Entity或Session)、一个home元素(bean的主目录接口的完全限定名)、一个remote元素(bean的远程接口的完全限定名)以及一个可选的ejb-link元素(当前bean链接的另一个bean的名称)组成。
l ejb-local-ref
ejb-local-ref元素声明一个EJB的本地主目录的引用。除了用local-home代替home外,此元素具有与ejb-ref元素相同的属性并以相同的方式使用。

http://spaces.msn.com/members/leizha/Blog/cns!1p7_c76flBEkLNWQcTXG3jeA!116.entry
分享到:
评论

相关推荐

    applicationContext-spring-security-cas.mxl

    PentahoEE版 CAS配置文件,配置完成后实现SSO

    常用读取xml文件的jar 包集合

    - 创建XML文档:使用`org.jdom2.Document`类创建新的XML文档,通过`Element`类添加根元素和其他元素。 - 解析XML文档:使用`SAXBuilder`或`DOMBuilder`读取XML文件并构建文档对象模型。 - 遍历和修改XML:可以...

    mxl111sf-tuner.rar_MxL111SF_TUNER_The Driver_mxl111sf-tuner.c

    《MaxLinear MXL111SF CMOS调谐器驱动详解》 在IT领域,硬件设备的正常运行离不开对应的驱动程序。今天我们将深入探讨的是针对MaxLinear公司的MXL111SF CMOS调谐器的驱动程序,它在数字电视接收、卫星通信等领域...

    mxl111sf-tuner.rar_MxL111SF_The Driver

    例如,头文件中可能会包含MXL111SF的I2C地址、设备结构体定义以及初始化和关闭设备的函数声明。 在Linux系统中,驱动程序通常会遵循通用的内核驱动模型,MXL111SF的驱动也不例外。它会注册到内核的I2C子系统,利用I...

    settings.xml

    eclipse,maven阿里云镜像文件。 。。。。。。。。。

    树莓派Mxl7704电源芯片.pdf

    - Buck2:输出电压范围1.3V至1.92V,步进20mV,最大输出电流1.5A; - Buck3:输出电压范围0.8V至1.6V,步进6.25mV,最大输出电流2A。 - **第五个低压差线性稳压器(LDO)**:提供清洁的1.5V至3.6V输出电压,最大...

    C51_MXL90614_mxl90614通讯_MXL90614_MXL90614参考代码_mxl90614程序_therefo

    通过阅读和分析这些代码,我们可以了解到如何在C51环境中操作MXL90614,如何处理I2C通信的细节,以及如何从传感器获取并解析温度数据。 总之,掌握C51和MXL90614的结合使用,对于开发涉及非接触温度测量的应用非常...

    dxb.rar_MXL603

    2. **IF(中频)处理**:MXL603接口可能包括一个或多个中频滤波器,用于去除不需要的频率成分,只保留所需频道的信号。 3. **PLL(锁相环)**:这一部分用于调整和稳定接收频率,确保信号的精确同步。 4. **控制...

    哨兵2号 L1C文件标准数据

    哨兵2号(Sentinel-2)是欧洲航天局(ESA) Copernicus 计划的一部分,这是一个全球环境监测项目,旨在提供连续、一致的陆地覆盖数据。该卫星发射了两颗,哨兵2A 和2B,它们提供高分辨率的多光谱图像,用于农业、...

    MXL90614红外温度 串口输出

    2. `MXL90614.c/h`:MXL90614传感器的驱动程序,包含配置传感器、读取温度值的函数。 3. `stm32f1xx_hal.c/h`:STM32 HAL库文件,提供对微控制器硬件的高级接口,如串口初始化。 4. `stm32f1xx_it.c/h`:中断服务...

    MXL90640.tar

    RK3399 android 7.1调试代码,其他项目可同等参考 1.dts 2.kernel driver 3.test code

    mxl5007t_DVB-T_MXL5007T_mxl5007_

    这些代码可能涉及底层硬件驱动,如I2C或SPI通信协议,以及更高层的信号处理算法,例如信道估计、前向纠错编码(FEC)等。 文档方面,"mxl5007t"很可能包含了MXL5007T的数据手册、应用笔记、示例代码和用户指南等...

    mxl.zip_php论坛

    【标题】"mxl.zip_php论坛"所代表的是一个压缩包文件,其中包含了与PHP论坛相关的源代码和学习资源。这个“mxl.zip”可能是...总的来说,“mxl.zip_php论坛”提供了一个实战环境,帮助开发者提升PHP编程和Web开发技能。

    修改context路径.docx

    在IT行业中,尤其是在服务器配置和Web应用部署领域,理解如何修改Tomcat的Context路径是非常重要的。这涉及到如何改变用户在浏览器中访问Web应用程序时的URL路径。以下将详细讲解这个过程,以及它对Web应用的影响。 ...

    main_mxl90614通讯_51danpianji_

    在这个项目中,我们将深入探讨MXL90614传感器的工作原理、89C51单片机的接口技术以及如何通过I2C协议进行通信,同时也会讲解如何在LCD1602上实现数据显示。 【MXL90614传感器】是一款非接触式的红外线温度传感器,...

    MxL248 Data Sheet_034-248DSR02.pdf

    MxL248 Data Sheet_034-248DSR02.pdf

    mxl90640开发资料和驱动.rar

    在提供的“mxl90640开发资料和驱动.rar”压缩包中,包含了 mlx90640 的开发笔记和手册,这是开发工作的基础。开发笔记通常会涵盖 mlx90640 的硬件连接、初始化流程、数据读取方法等实践操作步骤,而手册则详细介绍了...

    MXL_SRDS_SGMII_1P.pdf

    2. **1.25Gbps操作频率**(625MHz):支持高速数据传输。 3. **LVDS I/O**:采用低压差分信号技术,确保高速、低功耗的数据传输。 4. **卓越的抖动性能**:超出标准规格的要求,确保数据传输的质量和稳定性。 5. **...

    flash+mxl相册

    在IT行业中,Flash MXL相册是一种利用Adobe Flash技术和XML(可扩展标记语言)来创建动态、交互式相册的应用。这种技术结合了Flash的视觉吸引力和XML的灵活性,使得用户能够通过简单的XML文件管理相册内容,而无需...

    XR77004 MXL7704 Five Output Universal PMIC.pdf

    3. 芯片接口:MXL7704通过I2C接口与外部设备通信,允许客户监控输入电压标志和每个输出的功率良好(PGOOD)标志,同时可以修改电源启动和关闭的顺序、分配PGOOD输出到PGOOD引脚、启用输出以及选择开关频率。...

Global site tag (gtag.js) - Google Analytics