`
Copperfield
  • 浏览: 260244 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
C407adc3-512e-3a03-a056-ce4607c3a3c0
java并发编程陷阱
浏览量:25137
社区版块
存档分类

web.xml 总结

阅读更多
  1. web-app中元素的顺序以及作用、举例

 

     

    Web.xml 中出现的顺序(全小写)

    作用与使用举例

    Icon

    指定 IDE GUI 工具表示 web 应用的一两个图像文件的位置

    <icon>

    <small-icon></small-icon>

    <large-icon></large-icon>

    <!--可以用small-icon指定16*16的图gif或JPEG图像,large-icon指定32*32的。 -->

    </icon>

    Display-name

    GUI 工具标记这个 web 应用的一个名称

    Description

    描述这个应用。

    Context-param

    应用范围内的初始化参数 .( init-param 的区别是:这个是整个 web 应用里可用的。 Init-param 只是在那个指定的 jsp servlet 中可用。 )

    Eg.

    <context-param>

    <param-name>contextParamName</param-name>

    <param-value>contextParamValue</param-value>

    </context-param>

    Filter

    过滤器元素。将一个名字与一个实现了 javax.servlet.Filter 接口的类相关联。

    需要在 web.xml 中使用 2.3 或以上版本的 DTD

    过滤器可截取和修改一个 servlet jsp 和请求或从中发出的响应。在执行 servlet jsp 之前,必须先执行第一个相关的过滤器的 doFilter 方法。 FilterChain 对象调用 doFilter 方法时,执行链中的下一个过滤器至最后一个,然后 servlet jsp 才被执行。过滤器具有对到来的 ServletRequest 对象的全部访问权。

    新建一个类 implements Filter:

    Eg.

    public class MyFilter implements Filter {

     

    public void destroy() {

     

    }

     

    /* (non-Javadoc)

      * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)

      */

    public void doFilter(ServletRequest request, ServletResponse response,

    FilterChain chain) throws IOException, ServletException {

    HttpServletRequest req=(HttpServletRequest)request; //可以全权操作这个到来的request

    System.out.println("这里可以在执行servlet之前进行操作,而且具有对到来的servletRequest对象的所有访问权。"+req.getRemoteHost());

    chain.doFilter(request, response); //执行完了doFilet再去执行相应的原servlet或jsp

    }

     

    public void init(FilterConfig arg0) throws ServletException {

     

    }

     

    }

    filter web.xml 中的声明与 servlet 相似:

    <filter>

    <filter-name>myFilter</filter-name>

    <filter-class>guoxp.ajax.servlet.MyFilter</filter-class>

    </filter>

     

    <filter-mapping>

    <filter-name>myFilter</filter-name>

    <url-pattern>/*</url-pattern> <!--或是指定某个访问路径 -->

    </filter-mapping>

     

    但它的 filter-mapping 有两种方式,上面的是与 servlet 相似的声明方式,它还可以直接声明它截取的 servlet jsp 的名字(不过这个 servlet jsp 的名字要在这个 web.xml 中稍后进行声明),即用下面的方式:

    <filter-mapping>

    <filter-name>myFilter</filter-name>

    <servlet-name>AJAXServer</servlet-name>

    </filter-mapping>

    Filter-mapping

    将过滤器的名字与一个或多个 servlet jsp 页面相关联。

    例子如上。

    Listener

    指出监听程序类。事件监听程序在建立、修改和删除会话或 servlet 环境时得到通知。 web 应用的 Servlet-Context 建立或消除时,就会触发该监听器。

    <listener>

    <listener-class>guoxp.ajax.servlet.MyListener</listener-class>

    </listener>

     

    MyListener .java:

    public class MyListener implements ServletContextListener {

     

    public void contextDestroyed(ServletContextEvent event) {

    System.out.println("destroyed....");

    }

     

    public void contextInitialized(ServletContextEvent event) {

    System.out.println("created....");

    }

     

    }

    Servlet

    命名一个 servlet jsp 页面

    Eg.

      <servlet>

        <servlet-name>AJAXServer</servlet-name>

        <servlet-class>guoxp.ajax.servlet.AJAXServer</servlet-class>   <!-- 如果是 jsp 页面,就使用<jsp-file> 代替<servlet-class>。这样的配置可以使多个 url 共同用一个 jsp 处理,或是使得在 url 中去掉 .jsp 扩展名 -->

    <load-on-startup>1</load-on-startup> <!--指定装载 servlet 或是 jsp 时的顺序,因为有的 jsp servlet 需要 init 较长的时间,按数字从小到大确定先后顺序。 -->

      </servlet>

     

    Servlet-mapping

    为这个 servlet 名提供一个缺省的 url

    Eg.

      <servlet-mapping>

        <servlet-name>AJAXServer</servlet-name>

        <url-pattern>/AJAXServer</url-pattern>      <!-- 必须以斜杠‘ / ’开始,还可以包含通配符,如 /*.jsp, 则这样的 .jsp 的访问都会请求到这个 AJAXServer-->

    <init-param>

    <param-name>paramName</param-name>

    <param-value>paramValue</param-value> <!--可以向 servlet 提供初始化参数。

    servlet 中相应的得到这个参数的方法:

    init() 方法中,

    public void init() throws ServletException {

    ServletConfig config=getServletConfig();

    String value=config.getInitParameter("paramName");

    }

    jsp 中相应的用 jspInit() 方法:

    <%!private String paramValue;

     

    public void jspInit() {

    ServletConfig config = getServletConfig();

    paramValue = config.getInitParameter("paramName");

    }%>

    -->

    </init-param>

     

      </servlet-mapping>

     

    Session-config

    设定会话的超时时间。或用 HttpSession setMaxInactiveInterval 方法明确设置单个会话对象的超时值。

    Eg.

    <session-config>

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

    </session-config>

    Mime-mapping

    web 应用的特殊文件保证 分配特定的 mime 类型。

    Eg.

    <mime-mapping>

    <extension>txt</extension>

    <mime-type>application/txt</mime-type>

    </mime-mapping>

     

    附:常见的MIME类型

     

    超文本标记语言文本 .htm,.html text/html

    普通文本 .txt text/plain

    RTF文本 .rtf application/rtf

    GIF图形 .gif image/gif

    JPEG图形 .ipeg,.jpg image/jpeg

    au声音文件 .au audio/basic

    MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

    RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

    MPEG文件 .mpg,.mpeg video/mpeg

    AVI文件 .avi video/x-msvideo

    GZIP文件 .gz application/x-gzip

    TAR文件 .tar application/x-tar

    Welcome-file-list

    访问目录名时的起始文件。

    Eg.

    <welcome-file-list>

    <welcome-file>modules/frame/frame.jsp</welcome-file>

    <welcome-file>index.jsp</welcome-file> /* 可以指定多个欢迎页,从上向下试用 */

    </welcome-file-list>

    Error-page

    Error-code 或特定异常时,订制显示的页面。注意 location 必须以斜线 / 开头,也就是相对于整个应用的。两个方式: error-code exception-type

     

    <error-page>

    <error-code>404</error-code>

    <location>/error404.jsp</location> <!--关于指定错误处理页面,也可以在 jsp 中指定

    <%@  page errorPage="error.jsp" %>    -->

    </error-page>

     

    <error-page>

    <exception-type>

    javax.servlet.ServletException

    </exception-type>

    <location>/exception.jsp</location>

    </error-page>

     

    里面有三个属性可供处理异常时使用,分别是:status_code、message、与exception_type

    指定显示处理异常的页面exception.jsp,isErrorPage="true"指定 举例:

    <%@ page language="java" pageEncoding="UTF-8"

    contentType="text/html; charset=UTF-8" isErrorPage="true" %>

    <%--指定了isErrorPage就可以在EL中使用隐式对象${pageContext.exception}

    --%>

    <html>

    <head>

    <title>错误与例外处理页面</title>

    </head>

    <body>

    错误码:

    <%=request.getAttribute("javax.servlet.error.status_code")%>

    <br />

    错误信息:

    <%=request.getAttribute("javax.servlet.error.message")%>

    <br />

    异常:

    <%=request.getAttribute("javax.servlet.error.exception_type")%>

    <br />

    </body>

    </html>

    Jsp-config

    <taglib> 对标记库文件指定别名 . 当标记库名改变时可以不改变 jsp 中的引用名。 2.4 ,<tablib> 已经作为 <jsp-config> 的子元素。

    Eg.

    <jsp-config>

    <taglib>

    <taglib-uri>/dhtmlxgrid.tld</taglib-uri>

    <taglib-location>/WEB-INF/dhtmlxgrid.tld</taglib-location>

    </taglib>

    </jsp-config>

    Resource-env-ref

    声明与资源相关的一个管理对象

    Resource-ref

    声明资源工厂使用的外部资源

    Secuity-constraint

    制订应该保护的 url

    Login-config

    指定如何给试图访问受保护页面 用户授权。

    Secuity-role

    给出安全角色列表

    Env-entry

    web 应用的环境项

    Ejb-ref

    声明 EJB 主目录的引用

    Ejb-local-ref

    声明一个 EJB 的本地主目录的应用

     

3.   重新映射/servlet/URL模式

      在一个特定的Web应用中禁止以 http://host/webAppPrefix/servlet/ 开始的URL的处理非常简单。所需做的事情就是建立一个错误消息servlet,并使用url-pattern元素将所有匹配请求转向该servlet。只要简单地使用:

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

分享到:
评论

相关推荐

    在web.xml中引入其他xml配置文件的步骤

    ### 在web.xml中引入其他XML配置文件的步骤 在Java Web开发中,`web.xml`作为Web应用程序的核心配置文件,负责定义应用级别的配置信息。为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML...

    web.xml配置文件详解

    ### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...

    log4j与web.xml的配置

    总结来说,Log4j与web.xml的配置使得Java Web应用的日志管理更加高效和灵活。通过合理设置,我们可以轻松地追踪程序运行状态,排查问题,并保持系统稳定运行。如果有任何疑问,欢迎发送邮件至522134398@qq.com进行...

    struts.xml和applicationContext.xml、web.xml的配置

    总结来说,`struts.xml` 负责Struts2的Action配置,`applicationContext.xml` 管理Spring的Bean和依赖,而`web.xml` 定义了Web应用的基本结构和组件。这三个文件共同协作,构建了一个功能完善的Java Web应用,实现了...

    在web.xml中配置action或.do

    ### 在web.xml中配置action或.do的理解与实践 #### 一、引言 在Web开发领域,特别是基于Java的Web应用程序开发中,`web.xml`文件扮演着至关重要的角色。它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤...

    web.xml+详细解析.rar

    总结,`web.xml`是Java Web开发中的关键配置文件,它定义了应用程序的运行环境和行为,理解和熟练使用`web.xml`对于提升开发效率和维护性至关重要。通过深入学习和实践,开发者可以更好地掌控Web应用的运行逻辑,...

    SpringMVC基于代码的配置方式(零配置,无web.xml)

    总结,SpringMVC的零配置方式借助了Spring Boot的强大功能,简化了传统的XML配置,使开发更加便捷。通过Java代码配置,我们可以更加灵活地控制SpringMVC的行为,同时降低了维护成本。在实际开发中,这种方式可以显著...

    spring在web.xml中和在struts中的不同配置..pdf

    总结来说,Spring在`web.xml`中的配置更加独立,它不依赖于任何特定的应用框架,而是在Web应用启动时独立初始化ApplicationContext。而在Struts中,Spring作为插件集成,依赖于Struts的执行流程来管理Bean。这两种...

    java web项目 web.xml配置详解

    在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...

    Web项目没有web.xml配置文件

    在现代的Web开发中,"Web项目...总结起来,随着技术和框架的发展,`web.xml`已经不再是构建Web应用的必需品。现代Web项目倾向于使用更加灵活、可测试和模块化的配置方式,这使得开发更加高效,同时也降低了维护成本。

    tomcat配置文件web.xml与server.xml解析

    Tomcat 配置文件 web.xml 与 server.xml 解析 Tomcat 配置文件 web.xml 和 server.xml 是 Tomcat 自身的配置文件,用于配置 Tomcat 服务器的行为和性能。在本文中,我们将对 web.xml 和 server.xml 中的主要配置项...

    Web.xml配置文件.pdf

    总结,`Web.xml`是Java Web应用的心脏,它定义了应用的架构、行为和运行规则。理解并熟练掌握其配置,是成为一名合格的Java Web开发者的重要步骤。通过合理的配置,我们可以实现灵活的请求处理、高效的数据过滤以及...

    Filter过滤器的代码及其web.xml配置代码

    总结起来,Filter是Java Web中一个强大的工具,通过它可以实现数据预处理、后处理等多种功能。通过合理配置和使用,可以极大地提高应用程序的安全性和效率。在实际项目中,Filter常用于处理全局性的问题,如统一字符...

    web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序

    ### web.xml文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...

    web.xml 文件详解

    **web.xml 文件详解** 在Java Web应用程序中,`web.xml`文件是部署描述符(Deployment Descriptor),它是配置应用核心行为的重要文件。它定义了Servlet、过滤器、监听器、会话超时、错误页面等关键组件,使得...

    Web.xml配置详解

    ### Web.xml配置详解 #### 一、Web.xml概述 `web.xml` 文件是Java Web应用程序的核心配置文件之一,主要用于配置应用程序级别的各种初始化参数、监听器、过滤器、Servlet映射等。通过`web.xml`,开发者可以灵活地...

    web.xml文件的详细说明.txt

    ### Web.xml 文件详解 #### 一、概述 `web.xml`是Java Web应用程序中的核心配置文件,用于描述项目的整体架构及各个组件之间的关系。对于初学者来说,掌握`web.xml`的基本结构及其内部元素是非常重要的。 #### 二...

    Spring全注解project示例 (无web.xml配置)

    总结,Spring全注解项目示例展示了如何在不使用web.xml的情况下,利用Java注解进行Spring应用的配置,这是现代Spring开发的最佳实践之一。通过深入学习和实践,开发者可以提升对Spring框架的理解,提高开发效率。

    spring无web.xml零配置

    总结来说,"spring无web.xml零配置"意味着使用Java配置和Spring Boot的自动配置机制,替代了传统的XML配置方式,使得Spring应用的配置更加简洁、直观,同时也增强了可测试性和可维护性。通过这种方式,开发者可以更...

    sevlet生命周期,request web.xml 及ServletContext总结

    如果在`web.xml`配置文件中,Servlet被标记为`load-on-startup`,那么它会在容器启动时自动加载。否则,将在第一次请求时加载。 2. **初始化**: 在Servlet实例创建后,容器会调用`init()`方法。这是Servlet准备...

Global site tag (gtag.js) - Google Analytics