• java web工程


      根据JAVAEE规范,一个JAVA WEB工程至少要包含以下四个部分:

    • 公开部分
    • WebContent/WEB-INF/classes
    • WebContent/WEB-INF/lib
    • WebContent/WEB-INF/web.xml

      其中,WEB-INF下的东西只供容器读取,不允许外界查看。

      下面将对web.xml进行详细说明:

      WEB容器加载web.xml的顺序是这样子的,读取<listener>和<context-param>,然后创建ServletContext;容器将<context-param>的内容转化为键值对,传给ServletContext,之后根据<listener>配置创建监听器,<filter>配置创建过滤器和servlet实例。

      具体顺序:创建ServletContext,读取context-param内容,创建监听器 -> 创建过滤器 -> 创建servlet实例。

      具体内容解释:

      1、xml头和根元素(这个没什么好解释的,基本上每个xml文件都必须有)

        <?xml version="1.0" encoding="UTF-8"?>
        <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          id="WebApp_ID" version="2.5">
        <display-name>cmPrototype</display-name> <!--项目名称-->

       2、

        <context-param>  <!--上下文初始化参数,用于传递给ServletContext初始化,后面的监听器和过滤器都可以使用-->

          <param-name>param_name</param-name>  

          <param-value>param_value</param-value> 

        </context-param>  

      3、

        <listener><!--监听器,主要用于监视当某个事件触发时,需要采取的措施,监听器相当于侦探,用于监视着事件变化-->
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>

      4、

        <filter>  <!--过滤器,用于对请求和答复进行加工处理-->

           <filter-name>struts2</filter-name> 

          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 

        </filter> 

        <filter-mapping>  

          <filter-name>struts2</filter-name>  

          <url-pattern>/*</url-pattern> 

        </filter-mapping>  

      5、

        <servlet> <!--java web的基础,服务提供方-->
          <description></description>
          <display-name>HttpClientServlet</display-name>
          <servlet-name>HttpClientServlet</servlet-name>
          <servlet-class>com.ccb.cmPrototype.rule.HttpClientServlet</servlet-class>
        </servlet>
        <servlet-mapping>
          <servlet-name>HttpClientServlet</servlet-name>
          <url-pattern>/HttpClientServlet</url-pattern>
        </servlet-mapping>

      6、  <session-config><!--会话超时时间,单位为分钟-->

          <session-timeout>120</session-timeout>
      </session-config>
     7、

        <welcome-file-list> <!--首页列表,服务器会按照列表指定的顺序来查找首页-->
          <welcome-file>index.html</welcome-file> <!--首页名称-->
          <welcome-file>index.htm</welcome-file>
          <welcome-file>index.jsp</welcome-file>
          <welcome-file>default.html</welcome-file>
          <welcome-file>default.htm</welcome-file>
          <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>

      8、
      <error-page>
          <error-code>404</error-code>
          <location>/NotFound.jsp</location>
      </error-page>
      <error-page>
          <exception-type>java.lang.NullException</exception-type>
          <location>/error.jsp</location>
      </error-page>
      9、<resource-ref> <!--利用JNDI取得应用可利用资源-->
        
    <resource-ref>  
           <description>JNDI JDBC DataSource of JSPBook</description>  <!--资源说明-->
          <res-ref-name>jdbc/sample_db</res-ref-name> <!--资源名称-->
         <res-type>javax.sql.DataSoruce</res-type>  <!--资源类型-->
          <res-auth>Container</res-auth>         <!--资源由容器来授权-->
       </resource-ref>  
     
  • 相关阅读:
    网络编程:心跳检测保证连接有效
    网络编程:端口复用
    网络编程:优雅的关闭
    网络编程:小包数据的处理
    网络编程:理解TCP中的“流”
    网络编程:TCP故障模式
    C语言实现高阶阶乘(1000的阶乘C语言实现)
    函数指针
    CCS(TI IDE)中英文切换
    命令行与C++
  • 原文地址:https://www.cnblogs.com/306b/p/3557745.html
Copyright © 2020-2023  润新知