1,精确配置
	表单提交地址
	  action="<%=request.getContextPath()%>/AddNewsServlet"
	  <%=request.getContextPath()%> -->获取页面上下文环境
	  <url-pattern>配置内容: <url-pattern>/AddNewsServlet</url-pattern>
2,Servlet 和 Filter 初始化顺序
	  ①Filter 在web服务器启动时即完成实例化和初始化
	  ②Servlet 在提交请求时才完成初始化
	  ③然后执行 Filter 的 dofilter()方法
	  ④其次执行 Servlet 的 doPost()方法 或 doGet()方法
3,servlet 生命周期
	  实例化		客户端访问(只执行一次) -->Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时
	  初始化		客户端访问(只执行一次) -->当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,
											        适当的时候移交给 doGet 或 doPost 方法	
	  请求处理	客户端提交请求
	  销毁		服务端关闭或重新发布
4,servlet 转发页面 路径前需加 ‘/‘,如:
	  request.getRequestDispatcher("/pages/succies.jsp").forward(request, response);
5,servlet 多选框
	  1):html:
	  <input type="checkbox" name="web" value="runoob" checked="checked" /> 菜鸟教程<br>
	  <input type="checkbox" name="web" value="google"  /> Google<br>
	  <input type="checkbox" name="web" value="taobao" checked="checked" /> 淘宝<br>
	2):servlet:
	  String[] paramNames = request.getParameterValues("web");
	  request.setAttribute("paramNames", paramNames);
	3):显示:
	  <c:forEach items="${paramNames }" var="str">
		  <p>${str }</p>
	  </c:forEach>
6,servlet 和 filter 执行顺序
	  Filter------>init()方法				Web服务器启动
	  Filter------>doFilter()方法			客户端访问
	  servlet---->init()初始化方法		客户端请求
	  Filter------>doFilter()方法			客户端请求
	  servlet---->service方法				客户端请求
	  servlet----->doGet()方法			客户端请求		
	  servlet---->destroy()				重新发布/服务端关闭
	  Filter----->destroy()		
	
原文:http://www.cnblogs.com/sjmbug/p/7056340.html