Java笔记_web.xml文件
2019-10-31 16:01:44来源:博客园 阅读 ()
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、设置默认访问首页
1 <welcome-file-list> 2 <welcome-file>/pages/front/index.jsp</welcome-file> 3 </welcome-file-list>
2、配置servlet和servlet-mapping
Servlet:常称为服务器端小程序,即运行在服务器端的程序,用于处理及响应客户的请求。
Servlet类是个特殊的java类,继承于HttpServlet。
1 <servlet> 2 <!--servlet的内部名称,自定义,一般为类名--> 3 <servlet-name>ServletDemo1</servlet-name> 4 <!--一定是包名+ .类名--> 5 <servlet-class>lm.package.ServletDemo1</servlet-class> 6 </servlet> 7 8 <!--给Servlet提供(映射)一个可供客户端访问的URI--> 9 <servlet-mapping> 10 <!--和上面servlet中的servlet-name必须相同--> 11 <servlet-name>ServletDemo1</servlet-name> 12 <!-- servlet的映射路径 --> 13 <url-pattern>/ServletDemo1</url-pattern> 14 </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中获取这些参数值。
1 <servlet> 2 <servlet-name>ServletDemo1</servlet-name> 3 <servlet-class>Test.ServletDemo1</servlet-class> 4 <init-param> 5 <param-name>userName</param-name> 6 <param-value>Daniel</param-value> 7 </init-param> 8 <init-param> 9 <param-name>E-mail</param-name> 10 <param-value>123456@qq.com</param-value> 11 </init-param> 12 </servlet>
经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
4、设置过滤器:比如配置处理中文乱码的过滤器类:CharacterEncodingFilter
1 <filter> 2 <filter-name>characterEncodingFilter</filter-name> 3 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 4 <init-param> 5 <param-name>encoding</param-name> 6 <param-value>UTF-8</param-value> 7 </init-param> 8 </filter> 9 10 <filter-mapping> 11 <filter-name>characterEncodingFilter</filter-name> 12 <!--过滤所有--> 13 <url-pattern>/*</url-pattern> 14 </filter-mapping>
5、配置监听器
其实就是一个类,读取applicationContext.xml文件:ContextLoaderListener
1 <context-param> 2 <param-name>contextConfigLocation</param-name> 3 <param-value>classpath:applicationContext.xml</param-value> 4 </context-param> 5 <listener> 6 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 7 </listener>
6、配置会话(Session)过期时间,时间以分钟为单位,假如设置60分钟超时
1 <session-config> 2 <session-timeout>60</session-timeout> 3 </session-config>
7、设置错误处理页面,可以通过“错误码”或“异常类型”来指定错误处理页面
1 <error-page> 2 <!--错误码--> 3 <error-code>404</error-code> 4 <location>/error404.jsp</location> 5 </error-page> 6 ----------------------------- 7 <error-page> 8 <!--异常类型--> 9 <exception-type>java.lang.Exception<exception-type> 10 <location>/exception.jsp<location> 11 </error-page>
8、配置log4j日志
1 <context-param> 2 <param-name>log4jConfigLocation</param-name> 3 <param-value>classpath:properties/log4j.properties</param-value> 4 </context-param> 5 <listener> 6 <description>log4j配置加载器</description> 7 <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 8 </listener>
9、配置springmvc的核心类:DispatcherServlet,读取springmvc.xml
1 <servlet> 2 <servlet-name>dispatcherServlet</servlet-name> 3 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 4 <init-param> 5 <param-name>contextConfigLocation</param-name> 6 <param-value>classpath:springmvc.xml</param-value> 7 </init-param> 8 <!--表示第一个启动,该servlet第一个启动--> 9 <load-on-startup>1</load-on-startup> 10 </servlet> 11 <servlet-mapping> 12 <servlet-name>dispatcherServlet</servlet-name> 13 <url-pattern>*.do</url-pattern> 14 </servlet-mapping>
原文链接:https://www.cnblogs.com/one-smile/p/11765226.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash