Tomcat5028里有l和l,它们是tomcat自身的配置文件。
Tomcat5028里有l和l,它们是tomcat自身的配置文件。
Tomcat5028里有l和l,它们是tomcat自身的配置文件。
l里主要的内容:
关于servlet的定义:
<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.DefaultServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
</servlet>
。。。。。。
关于servlet-mapping的定义:
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>
关于session-config的定义:
<session-config>
        <session-timeout>30</session-timeout>
    </session-config>
关于mime-mapping的定义:
<mime-mapping>
        <extension>abs</extension>
        <mime-type>audio/x-mpeg</mime-type>
    </mime-mapping>
最后是关于welcom-file-list的定义:
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
可能还有事件,过滤器
事件:
事件和servlet的过滤器类似,都是在web程序被部署到web服务器时生成并被初始化的。
几类的作用:
ServletContext接口可以使web得知整个程序的载入和卸载等运行情况。
HttpSession接口可以使web程序了解程序会话期间的状况并作出响应。
ServletRequest接口可以使web程序控制请求的生命周期。
在第一个请求被web容器接受之前实例化并注册好类是必须的。在整个web应用生命周期中都要使用。
web容器对每个监听类只会创建一个实例(单例模式),在第一个请求到来之前实例化并注册。web容器注册监听类的顺序根据他们实现的接口和在部署描述文件中定义的顺序。web应用调用监听实例的顺序按照他们注册的顺序。
对appfuse来说,在web容器根据应用程序部署文件l进行部署的时候,首先完成对listener和filter的实例化和初始化,然后由于
public class StartupListener extends ContextLoaderListener
    implements ServletContextListener {。。。。
StartupListener继承自ServletContextListener,因此在容器对servletContext进行初始化的
时候,会调用这个监听。由于在appfuse应用程序的l里有关于spring的配置信息,因此这里就把spring配置好了!!!
过滤器:
Filter生命周期
在web工程发布后,在请求使引擎访问一个web资源之前,引擎必须定位Filter列表;引擎必须确保为列表中的每一个Filter建立了一个实例,并调用了他们的init(FilterConfig config)方法。在这过程中可以抛出异常。部署描述文件中定义的所有filter,仅会在引擎中产生一个实例。
当引擎接受一个请求时,引擎就会调用filter列表中第一个filter的doFilter方法,把ServletRequest,ServletResponse和FilterChain作为参数传给它。filter中doFilter方法典型的处理步骤是:
1)检查请求头信息
2)开发者创建一个实现了ServletRequest或HttpServletRequest的类,去包装request对象,以便修改请求的头信息或体数据。
3)开发者创建一个实现了ServletReqponse或HttpServletResponse的类,去包装response对象,以便修改请求的头信息或体数据。
4)filter可以调用链中的下一个实体,下一个实体是另一个filter,如果该filter是列表中最后的一个,则它的下一个实体就是一个目标web资源。如果要调用下一个filter的doFilter方法,把request,和response对象传给FilterChain对象的doFilter方法中就可以了。
Filter chain 的doFilter方法是由引擎提供的,引擎在该方法中会定位filter列表中的下一个filter,调用它的doFilter方法,把传来的request和response对象传给它。
5)在调用chain.doFilter之后,filter可以检测响应的头信息
6)在这些过程中,filter可以抛出异常。当在调用doFilter过程中抛出UnavailableException异常时,引擎重复尝试处理
下面的filter chain的方法,如过时后还没请求到filter chain 就会关闭对filter chain的请求。当filter是列表中最后一个filter时,它的下一个实体是描述配置文件中filter后面的servlet或其它资源。
在引擎删除一个Filter之前,引擎必须调用Filter的destroy方法,来释放资源。
l:都是关于应用程序的。
<web-app >
各种<context-param>。。。。
各种<filter>,以及<filter-mapping>。。。。
各种<listener>。。。。
各种<servlet>,以及<servlet-mapping>。。。
<session-config>
<welcome-file-list>
    各种<error-page>。。。。
    <taglib>
    <resource-ref>
下载apache
    <security-constraint>
    <login-config>
    <security-role>
l里的主要内容:
首先是关于server的定义:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
。。。
关于server的注释:
A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances.  The Server
    listens for a shutdown command on the indicated port.
关于listener的定义:
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
            debug="0"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
            debug="0"/>
关于globalNamingResources的定义:
<GlobalNamingResources>
   
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。