`
student_lp
  • 浏览: 429379 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

     一般的java web工程中都会用到web.xml,web.xml在Java web工程的WEB-INF目录下,web.xml主要的功能就是用来配置站点信息,主要的配置项有:①站台的名称和说明;②针对环境参数(Context)做初始化工作;③Servlet的配置(包括Filter、Listener、Servlet);④Tag Library的对应;⑤JSP网页设定;⑥Mime Type处理;⑦错误处理;⑧利用JDNI获得站台资源等。但是要说明的是web.xml并不是必须的,一个java web工程可以没有web.xml文件。 

一、认识web.xml中的配置元素

     在web.xml中所需的配置元素都在<web-app>元素内,下面的列表给出了所有可直接出现在<web-app>元素内的合法元素所必需的次序。例如,此列表说明servlet元素必须出现在所有servlet-mapping元素之前。请注意,所有这些元素都是可选的。因此,可以省略掉某一元素,但不能把它放于不正确的位置。 

1、站点描述配置元素

①<display-name>----Web应用名称。提供GUI工具可能会用来标记这个特定的Web应用的一个名称。

②<description>----Web应用描述。给出于此相关的说明性文本。

③<icon>----该元素包含small-icon和large-icon两个子元素,用来指定web站台中小图标和大图标的路径。

<display-name>Develop Example</display-name>
<description>JSP 2.0 Tech Book's Examples</description>
<icon>
   <small-icon>/images/small.gif</small-icon>
   <large-icon>/images/large.gir</large-icon>
</icon>

 2、设置web站点环境参数

①<context-param>----该元素声明应用范围内的初始化参数。它用于向 ServletContext提供键值对,即应用程序上下文信息。我们的listener, filter等在初始化时会用到这些上下文中的信息。在servlet里面可以通过getServletContext().getInitParameter("context/param")得到。它包含两个子元素:<param-name>和<param-value>

     ②<param-name>参数名称</param-name>----设定Context名称
     ③<param-value>值</param-value>----设定Context名称的值

<context-param>
    <param-name>my_param</param-name>
    <param-value>hello</param-value>
</context-param>

3、过滤器设置

①<filter>----过滤器。将一个名字与一个实现javaxs.servlet.Filter接口的类相关联。它包含以下子元素:

     ②<filter-name></filter-name> 这当然就是指定filter的名字
     ③<filter-class></filter-class> 这是用来定义filter的类的名称
     ④<init-param></init-param> 用来定义参数。它有两个子元素:

          ⑤<param-name></param-name> 用来指定参数的名称
          ⑥<param-value></param-value> 用来设定参数值

①<filter-mapping>----与<filter>同时使用,用来定义filter所对应的URL,它有两个子元素:

     ②<filter-name></filter-name> 指定filter的名字

     ③<url-pattern></url-pattern> 指定filter所对应的URL

<filter>
    <filter-name>setCharacterEncoding</filter-name>
    <filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>setCharacterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

4、监听器设置

①<llistener>----servlet API的版本2.3增加了对事件监听程序的支持,支持对:

(a)监听ServletContext、Request、Session作用域的创建和销毁

     ServletContextListener

     HttpSessionListener

     ServletRequestListener

(b)监听ServletContext、Request、Session作用域中属性变化(增加、修改、删除) 

     ServletContextAttributeListener

   HttpSessionAttributeListener
   ServletRequestAttributeListener

(c)监听HttpSession中对象状态的改变(被绑定、解除绑定、钝化、活化)

     HttpSessionBindingListener 感知到绑定以及解除绑定
  HttpSessionActivationListener 感知钝化和活化 状态改变

<listener> 
    <listerner-class>com.listener.SessionListener</listener-class> 
</listener>

5、servlet设置

①<servlet>----用来声明一个servlet的数据,主要有以下子元素:

     ②<servlet-name></servlet-name> 指定servlet的名称

     ③<servlet-class></servlet-class> 指定servlet的类名称

     ④<jsp-file></jsp-file> 指定web站台中的某个JSP网页的完整路径

     ⑤<init-param></init-param> 用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数

     ⑥<load-on-startup></load-on-startup>指定当Web应用启动时,装载Servlet的次序。当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet。当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它。  

①<servlet-mapping>----用来定义servlet所对应的URL,包含两个子元素:

     ②<servlet-name></servlet-name> 指定servlet的名称

     ③<url-pattern></url-pattern> 指定servlet所对应的URL 

<servlet>
    <servlet-name>snoop</servlet-name>
    <servlet-class>SnoopServlet</servlet-class>
    <init-param>
        <param-name>foo</param-name>
        <param-value>bar</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>snoop</servlet-name>
    <url-pattern>/snoop</url-pattern>
</servlet-mapping>

 6、会话设置

①<session-config>----如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。 包含一个子元素:

     ②<session-timeout>----用来定义这个web站台所有session的有效期限,单位为分钟。

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

7、mime设置

①<mime-mapping>----如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。包含两个子元素:   

     ②<extension></extension> 扩展名的名称

     ③<mime-type></mime-type> MIME格式

<mime-mapping>
    <extension>htm</extension>
    <mime-type>text/html</mime-type>
</mime-mapping>
 8、设置欢迎页

①<welcome-file-list>----指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。 包含一个子元素:

    ②<welcome-file></welcome-file> ---- 指定首页的文件名称

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
</welcome-file-list>
 9、错误页面设置

①<error-page>----用来处理错误代码或异常的页面,有三个子元素:

     ②<error-code></error-code> 指定错误代码
     ③<exception-type></exception-type> 指定一个JAVA异常类型
     ④<location></location> 指定在web站台内的相关资源路径

<error-page>
    <error-code>404</error-code>
    <location>/NotFound.jsp</location>
</error-page>

10、设置jsp tag library路径

①<taglib>----taglib元素对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。此功能使你能够更改TLD文件的位置,而不用编辑使用这些文件的JSP页面。 有两个子元素:

    ②<taglib-uri></taglib-uri> 定义TLD文件的URI,在JSP网页中用taglib指令便可取得该URI的TLD文件
    ③<taglib-location></taglib-location> 指定TLD文件相对于web站台的存放位置

<taglib>
      <taglib-uri>myTaglib</taglib-uri>
      <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
</taglib>

11、设置资源相关的一个管理对象

<resource-ref>----声明一个资源工厂使用的外部资源。 有五个子元素:

    <description></description> 资源说明
    <rec-ref-name></rec-ref-name> 资源名称
    <res-type></res-type> 资源种类
    <res-auth></res-auth> 资源经由Application或Container来许可
    <res-sharing-scope></res-sharing-scope> 资源是否可以共享,有Shareable和Unshareable两个值,默认为Shareable

<resource-ref>
        <description>JNDI JDBC DataSource of shop</description>
        <res-ref-name>jdbc/sample_db</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
</resource-ref>

12、设置jsp

<jsp-config> 包括 <taglib> 和 <jsp-property-group> 两个子元素。其中:

     <taglib> 元素在JSP 1.2 时就已经存在;

     <jsp-property-group> 是JSP 2.0 新增的元素。

     <jsp-property-group> 元素主要有八个子元素,它们分别为:

            <description>:设定的说明 

            <display-name>:设定名称 

            <url-pattern>:设定值所影响的范围,如: /CH2 或 /*.jsp

            <el-ignored>:若为 true,表示不支持 EL 语法 

            <scripting-invalid>:若为 true,表示不支持 <% scripting %>语法 

            <page-encoding>:设定 JSP 网页的编码 

            <include-prelude>:设置 JSP 网页的抬头,扩展名为 .jspf

            <include-coda>:设置 JSP 网页的结尾,扩展名为 .jspf 

<jsp-config>
    <taglib>
        <taglib-uri>Taglib</taglib-uri>
        <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
    </taglib>
    <jsp-property-group>
        <description>Special property group for JSP Configuration JSP example.</description>
        <display-name>JSPConfiguration</display-name>
        <url-pattern>/jsp/* </url-pattern>
        <el-ignored>true</el-ignored>
        <page-encoding>GB2312</page-encoding>
        <scripting-invalid>true</scripting-invalid>
        <include-prelude>/include/prelude.jspf</include-prelude>
        <include-coda>/include/coda.jspf</include-coda>
    </jsp-property-group>
</jsp-config>

13、其他一些设置

<security-constraint>---- security-constraint元素制定应该保护的URL。它与login-config元素联合使用
<login-config>----  用login-config元素来指定服务器应该怎样给试图访问受保护页面的用户授权。它与sercurity-constraint元素联合使用。
<security-role>----security-role元素给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。
<env-entry>----env-entry元素声明Web应用的环境项。
<ejb-ref>----ejb-ref元素声明一个EJB的主目录的引用。
<ejb-local-ref>----ejb-local-ref元素声明一个EJB的本地主目录的应用。

分享到:
评论

相关推荐

    web.xml详解.txt

    java程序员朋友们,看了他,你会对你天天用的web.xml配置文件有一个全新的认识,对web.xml有深入了解,对编程会大有帮助

    Java_Web编程新手自学手册.pdf

    Java Web是当今使用最为广泛的Web开发技术之一,一直在开发领域占据着重要地位。...《新手学编程ABC丛书·Java Web编程新手自学手册(附光盘)》不但适用于Java Web的初学者,也可供有一定Java Web基础的读者阅读。

    Web_XML 配置详解 - Java编程

    Web_XML 配置详解 - Java编程

    嵌入式WEB服务器及远程测控应用详解.rar

    第一章:嵌入式 WEB服务器的移植及注意点 ...第三章:XML技术及Java Script技术在网页中的使用 第四章:CGI介绍及表单提交方式 第五章:简单的 LED 测试 ... (文件名:嵌入式WEB服务器及远程测控应用详解.rar)

    深入Java Servlet网络编程

    第5章 Java Servlet中的网络编程 5. 1 Java套接字网络编程 5. 1. 1 InetAddress类 5. 1. 2 Socket类 5. 1. 3 给手机发送网上短信息 5. 2 Java网络编程中的高层类 5. 2. 1 URL类 5. 2. 2 URLConnection类 第6...

    Java Web程序设计教程

    &lt;&lt;Java Web程序设计教程.pdf&gt;&gt;人民邮电出版社的教程哦,所以,好书,你懂的!! 第1章web应用开发简介 1 1.1何为web应用 1 1.1.1web的概念及发展 1 1.1.2web应用程序 2 1.2使用java开发web应用 3 1.2.1面向对象...

    Java编程Webservice指定超时时间代码详解

    主要介绍了Java编程Webservice指定超时时间代码详解,简单介绍了webservice,然后分享了通过使用JDK对Webservice的支持进行Webservice调用实现指定超时时间完整示例,具有一定借鉴价值,需要的朋友可以参考下。

    JAVA核心知识点整理(有效)

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

    java基础.txt 百度云

    Java 基础语法 Java 面向对象 深入面向对象和数组 Java 常用类详解 Java 异常机制解析 Java 集合与数据结构 JavaIO 流全解析 深入理解 Java 多线程 Java 网络编程 手动开发一个 Web 服务器...Java 解析XML文件

    (超赞)JAVA精华之--深入JAVA API

    1 JAVA SE 1.1 深入JAVA API 1.1.1 Lang包 1.1.2 集合类 1.1.2.1.1 日期类Date ...3.7 Java与XML联合编程之SAX篇 3.8 Java与XML联合编程之DOM篇 4 其他 4.1 代码复用的规则 4.2 Java IO 包中的Decorator模式

    Ajax详解.rar

    第 14部分:面向 Java 开发人员的 Ajax 结合 Direct Web Remoting 使用 Ajax 154 1.1 DWR 是什么? 155 1.2 关于示例 155 1.3 实现目录 156 1.4 测试部署 157 1.5 调用远程对象 158 1.6 实现购物车 160 1.7 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

    Spring 2.0 开发参考手册

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Spring中文帮助文档

    3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用...

    JAVA SE学习精华集锦

    1 JAVA SE 2 1.1 深入JAVA API 2 1.1.1 Lang包 2 ...3.7 Java与XML联合编程之SAX篇 154 3.8 Java与XML联合编程之DOM篇 159 4 其他 165 4.1 代码复用的规则 165 4.2 Java IO 包中的Decorator模式 168

    Spring API

    3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用...

    spring chm文档

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    高级Java软件架构师学习计划

    Java语法与编程基础 面向对象程序设计与编码 Java流操作和文件系统 Java图形用户界面编程 异常处理与事件响应 Java基础类库与中期项目实战 Java多线程编程、网络编程 项目实战 J2EE中级 数据库基础与linux...

Global site tag (gtag.js) - Google Analytics