Servlet 笔记
Posted 好奇害死猫+1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet 笔记相关的知识,希望对你有一定的参考价值。
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()
以上是关于Servlet 笔记的主要内容,如果未能解决你的问题,请参考以下文章