web.xml文件初学
来源:互联网 发布:帮淘宝店刷好评找谁 编辑:程序博客网 时间:2024/06/06 17:47
1.web.xml文件中的主要元素及其加载顺序
主要元素有context-param ,listener, filter,servlet ,不管其书写的顺序如何,其加载顺序如下context-param -> listener -> filter -> servlet 。
2.各个元素简单介绍
2.1filter过滤器
其作用时,当有http请求过来时,在执行到请求页面前先对请求做一个过滤处理,每个具体的过滤器都要实现javax.servlet.Filter。比如有一个需求,要求用户访问页面时,都要判断其是否登录,我们可以写一个登录过滤器,如下:
public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("init LoginFilter"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //把ServletRequest和ServletResponse转换成真正的类型 HttpServletRequest req = (HttpServletRequest)request; HttpSession session = req.getSession(); //由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url String requestURI = req.getRequestURI(); if(requestURI.endsWith("login.jsp")){ chain.doFilter(request, response); return; } //判断用户是否登录,进行页面的处理 if(null == session.getAttribute("user")){ //未登录用户,重定向到登录页面 ((HttpServletResponse)response).sendRedirect("login.jsp"); return; } else { //已登录用户,允许访问 chain.doFilter(request, response); } } @Override public void destroy() { System.out.println("destroy!!!"); }}在web.xml中这样写
<filter> <filter-name>LoginFilter</filter-name> <filter-class>com.itzhai.login.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
多个filter的执行顺序与在web.xml配置文件中的配置顺序一致。
关于filter可参见文章:http://blog.csdn.net/yangzl2008/article/details/6608533
http://www.itzhai.com/java-web-notes-servlet-filters-in-the-filter-writing-the-introduction-and-use-of-filters.html
2.2 servlet
servlet是运行于web server端的一个小的java程序,主要功能在于交互式地浏览和修改数据,生成动态web内容。每个具体的servlet都要实现javax.servlet.Servlet。其主要工作模式如下:
(1)客户端发送请求至服务器,
(2)服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器
(3)服务器将响应返回客户端
关于servet具体内容,可见
http://zh.wikipedia.org/wiki/Java_Servlet
http://abruzzi.iteye.com/blog/266336
2.3 listener
Listener是Servlet的监听器,它可以监听客户端的请求,服务器端的操作等。通过监听器,可以自动激发一些操作,比如,当增加一个HttpSession时,就自动触发sessionCreated(HttpSessionEvent se)方法,在这个方法中就可以统计在线人数了。使用到了观察者模式。
关于listener的具体介绍,请见http://www.itzhai.com/java-web-notes-servlet-listener-listener-in-the-listener-interface-commonly-used-in-listener.html
- web.xml文件初学
- [SSH框架初学笔记]web.xml文件的基本配置
- 初学JavaEE之web.xml
- web.xml文件详解
- 关于web.xml文件
- web.xml 文件详解
- web.xml文件详解
- web.xml文件分析
- Web.xml文件详解
- web.xml文件
- web.xml文件详解
- web.xml文件解读
- web.xml文件详解
- web.xml文件详解
- web.xml文件详解
- web.xml文件学习
- web.xml文件详解
- web.xml文件详解
- 【转】JDOM解析处置xml
- VS2010控制台程序运行一闪而过的完美解决办法
- Python SciPy Sparse模块学习笔记
- 磁盘配额 Quota的使用
- Setting up a LAMP stack
- web.xml文件初学
- web开发时,一些比较重要的服务类,框架自带类,及框架的配置读取
- UINavigationController的popViewControllerAnimated问题
- js产生随机数的几种方法
- BBC系列
- fmod:2.SoundManager的解析和在OGRE中使用fmod
- 蓝桥杯——真题训练之李白打酒
- springside3里面的hibernate
- 想自己做一个网站