Java笔记_web.xml文件
在JavaEE工程中,web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等,但并不是必须的,一个Java Web项目没有web.xml文件也是照样能跑起来的。
当web项目启动时,web.xml文件里的各个节点的加载顺序是:<context-param>-><listener>-><filter>-><servlet>。
其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。
web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,标签元素的种类肯定也会越来越多,但有些不是很常用的,我们只需记住一些常用的并知道怎么配置就可以了。
1、设置默认访问首页
<welcome-file-list>
<welcome-file>/pages/front/index.jsp</welcome-file>
</welcome-file-list>
2、配置servlet和servlet-mapping
Servlet:常称为服务器端小程序,即运行在服务器端的程序,用于处理及响应客户的请求。
Servlet类是个特殊的java类,继承于HttpServlet。
<servlet>
<!--servlet的内部名称,自定义,一般为类名-->
<servlet-name>ServletDemo1</servlet-name>
<!--一定是包名+ .类名-->
<servlet-class>lm.package.ServletDemo1</servlet-class>
</servlet> <!--给Servlet提供(映射)一个可供客户端访问的URI-->
<servlet-mapping>
<!--和上面servlet中的servlet-name必须相同-->
<servlet-name>ServletDemo1</servlet-name>
<!-- servlet的映射路径 -->
<url-pattern>/ServletDemo1</url-pattern>
</servlet-mapping>
注意:上面的servlet映射路径一定要加上/,否则会出错。
上面设置的映射路径可以通过地址栏来访问:http://localhost/servlet
补充1:url-pattern: *.xxx 以*.字符串的请求都可以访问 注:不要加/
url-pattern: /* 任意字符串都可以访问
url-pattern: /xxx/* 以/xxx开头的请求都可以访问
补充2:servlet配置load-on-startup的作用
如果我们在web.xml中设置了多个servlet的时候,可以使用load-on-startup来指定servlet的加载顺序,
服务器会根据load-on-startup的大小依次对servlet进行初始化。
不过即使我们将load-on-startup设置重复也不会出现异常,服务器会自己决定初始化顺序。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
PS:一般我们在开发web应用时,都会配置这个参数,有两个好处:
1、如果初始化过程失败,则容器会提示启动失败,此时我们能够提前知道相关错误;
2、配置该参数相当于将初始化servlet的工作转移到容器启动过程,使得容器只要启动成功后,就可立即响应web请求。
3、定制初始化参数
可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。
<servlet>
<servlet-name>ServletDemo1</servlet-name>
<servlet-class>Test.ServletDemo1</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Daniel</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>123456@qq.com</param-value>
</init-param>
</servlet>
经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
4、设置过滤器:比如配置处理中文乱码的过滤器类:CharacterEncodingFilter
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter> <filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<!--过滤所有-->
<url-pattern>/*</url-pattern>
</filter-mapping>
5、配置监听器
其实就是一个类,读取applicationContext.xml文件:ContextLoaderListener
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
6、配置会话(Session)过期时间,时间以分钟为单位,假如设置60分钟超时
<session-config>
<session-timeout>60</session-timeout>
</session-config>
7、设置错误处理页面,可以通过“错误码”或“异常类型”来指定错误处理页面
<error-page>
<!--错误码-->
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
-----------------------------
<error-page>
<!--异常类型-->
<exception-type>java.lang.Exception<exception-type>
<location>/exception.jsp<location>
</error-page>
8、配置log4j日志
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:properties/log4j.properties</param-value>
</context-param>
<listener>
<description>log4j配置加载器</description>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
9、配置springmvc的核心类:DispatcherServlet,读取springmvc.xml
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!--表示第一个启动,该servlet第一个启动-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Java笔记_web.xml文件的更多相关文章
- Java jdom解析xml文件带冒号的属性
Java jdom解析xml文件带冒号的属性 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/99644824 本文出自:[奥特曼超人 ...
- JAXB—Java类与XML文件之间转换
JAXB-Java类与XML文件之间转换 简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生 ...
- java project中 xml文件路径问题
xml文件默认是和src文件平级的,当不在project根目录下时,java代码中使用xml文件时需要写为这种形式:“/src/..../bean.xml”
- Java如何读取XML文件 具体实现
转载自:http://www.jb51.net/article/44338.htm import java.io.*; import javax.xml.parsers.DocumentBuilder ...
- 学习笔记-解析xml文件
1. Dom4J <students> <student> <name>吴飞</name> <c ...
- Java眼中的XML文件写入
创建DOM方式生成XML文档 DOMTest package com.imooc.domtest.test; import java.io.File; import java.io.IOExcepti ...
- java Domj4读取xml文件加强训练案例
需求:给出一段xml文件.要求按照鸳鸯输出. xml文件代码如下: <?xml version="1.0" encoding="utf-8"?> & ...
- java Domj4读取xml文件
先概括,再以代码形式给出. 获取节点: Iterator Element.nodeIterator(); //获取当前标签节点下的所有子节点 获取 标签: Element Document.get ...
- 【反射】利用java反射原理将xml文件中的字段封装成对应的Bean
本例使用的xml解析方式为jdom ... <ROOT> <Consignment> ... </Consignment> </ROOT> 解析xml文 ...
随机推荐
- 英语pyrophane火欧珀pyrophane单词
pyrophane火欧泊产量稀少,以至于大多数采到宝石的矿主不愿意将它进行切割,即便随形的切割技巧比刻面需要更多的经验也要将其加工成随形,因为这种琢型最能保重.但是与黑欧泊为了保证火彩只能切割成蛋面和 ...
- JavaWeb 分层设计、MVC
M:Model,JavaBean. V:View,JSP. C:Controller,Servlet. Servlet: 接受用户请求,把请求参数封装为一个JavaBean,调用service来处理业 ...
- ECharts将折线变平滑和去掉点的属性(转载)曲线变圆滑
本文链接:https://blog.csdn.net/sinat_36422236/article/details/62430114 series : [ { name:'your name', sy ...
- hOW TO READING
人脑是易忘的,新知识要不断复习,一本600页的书,总结出来要记住的知识可能只有30页.一段2小时的技术视频,总结到纸上可能只有10分钟的阅读量.那么如何复习这600页的书和2小时的视频呢? 答案就是总 ...
- Linux服务管理之SSH
Linux服务SSH ssh服务: 管理服务器的方式: 本地管理类 (安装系统,故障修复) SHH远程连接方式 ...
- 团队第五次作业:alpha2成绩汇总
一.作业题目 团队第五次作业:alpha2发布 二.作业评分标准 博客评分规则(总分100)博客要求 给出开头和团队成员列表(10') 给出发布地址以及安装手册(20') 给出测试报告(40') 给出 ...
- LuoguP5540:【模板】最小乘积生成树(几何逼近)
题意:给定N点,M边,每条边有两个属性(a,b),现在让你选N-1条边出来,然后使得∑a*∑b最小.N<200,M<1e4: 思路:我们把∑a看成x,∑b看成y,那么一个方案对应一个二维坐 ...
- mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件
数据库的配置 # 通过配置文件统一配置的目的: 统一管理 服务端(mysqld) 客户端(client) 配置了mysqld(服务端)的编码为utf8, 那么再创建的数据库,默认编码都采用utf8. ...
- Python基础A(执行方式---注释)
执行Python程序的两种方式 交互式(jupyter) 优点:运行一句,执行一句 缺点:关闭即消失 命令行式(pycharm) 优点:可以一直保存下去 缺点:全部写完才能调试bug 虽然txt问价可 ...
- BEST FREE UNITY ASSETS – OVER 200 CURATED QUALITY ASSETS
http://www.procedural-worlds.com/blog/best-free-unity-assets-categorised-mega-list/ BEST FREE UNITY ...