一般的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
HttpSessionAttributeListenerServletRequestAttributeListener
(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格式
相关推荐
java程序员朋友们,看了他,你会对你天天用的web.xml配置文件有一个全新的认识,对web.xml有深入了解,对编程会大有帮助
Java Web是当今使用最为广泛的Web开发技术之一,一直在开发领域占据着重要地位。...《新手学编程ABC丛书·Java Web编程新手自学手册(附光盘)》不但适用于Java Web的初学者,也可供有一定Java Web基础的读者阅读。
Web_XML 配置详解 - Java编程
第一章:嵌入式 WEB服务器的移植及注意点 ...第三章:XML技术及Java Script技术在网页中的使用 第四章:CGI介绍及表单提交方式 第五章:简单的 LED 测试 ... (文件名:嵌入式WEB服务器及远程测控应用详解.rar)
第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程序设计教程.pdf>>人民邮电出版社的教程哦,所以,好书,你懂的!! 第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指定超时时间代码详解,简单介绍了webservice,然后分享了通过使用JDK对Webservice的支持进行Webservice调用实现指定超时时间完整示例,具有一定借鉴价值,需要的朋友可以参考下。
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
Java 基础语法 Java 面向对象 深入面向对象和数组 Java 常用类详解 Java 异常机制解析 Java 集合与数据结构 JavaIO 流全解析 深入理解 Java 多线程 Java 网络编程 手动开发一个 Web 服务器...Java 解析XML文件
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模式
第 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 ...
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 ...
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. ...
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作用...
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
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作用...
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多线程编程、网络编程 项目实战 J2EE中级 数据库基础与linux...