jsp 中request 、response以及filter互相之间的关系
来源:互联网 发布:ons模拟器mac版 编辑:程序博客网 时间:2024/04/29 10:44
大家都知道request和response是servlet第一次被创建时由web容器创建的,filter时用来在客户端与服务器之间进行过滤操作设置的。
首先 当客户端要访问服务器时,本地浏览器会将当前html页面上的数据包括本地磁盘上的cookie封装到request内,然后通过http协议传送到服务器,在它到达服务器之后不会马上到达目标servlet并执行service()方法,而是会先调用过滤器经过过滤器过滤处理(比如将request内数据编码转换格式)之后,过滤器调用chain.dofilter(request,response)方法,意思是执行后面的servlet或者下一个过滤器,最后到达servlet后开始执行相应service()方法,request内的数据被取出处理。这时候就开始用到了respons,response就是服务器用来向客户端传输数据用的。这个地方注意,因为好多人会认为response可以用来在服务器servlet之间传输数据,这是不正确的,也许大家看到过response.sendRedirect("a.jsp");虽然jsp也是servlet,但是这里的意思是重定向,同样是将重定向数据“a.jsp”回送给了客户端浏览器,由浏览器重新访问“a.jsp”。response可以给客户端传输以下信息:1,cookie (由服务器生成传送回本地磁盘)2 重定向网址资源信息比如上面的a.jsp 3、通过response.getOutputStream()获取的传输流向客户端传输html静态页面。而当客户端请求经过过滤器到达servlet 并且执行完了service()方法(这时需要回送给客户端的信息已经封装到了response数据流之中)之后,这个流程会再次进入过滤器,并从chain.dofilter()之后开始执行,执行完过滤器dofilter()之后服务器端response才会继续传输给客户端浏览器,保存cookie,形成html显示页面。
所以说request和response是相辅相成的一对对象,前者封装客户端请求数据,后者封装会送给客户端的数据。至于filter一定要注意是对客户端和服务器端的过滤,像服务器端的转发是不会再次触发filter的(当然可以通过独特配置实现触发过滤器),因为转发是服务器内部的操作,但是重定向会触发filter,因为重定向可以说是完成了两次客户端到服务器端的访问。filter一般不止一个,像这样的话,filter会按照filter-mapping的配置顺序依次过滤
- jsp 中request 、response以及filter互相之间的关系
- Servlet,filter, struts,jsp之间的关系
- Servlet中filter的执行顺序以及urlPatterns和servletNames之间的关系
- jsp中request.getParameter和request.getAttribute之间的区别
- jsp中request.getParameter和request.getAttribute之间的区别
- jsp中request.getParameter和request.getAttribute之间的区别
- jsp中request.getParameter和request.getAttribute之间的区别
- request&response&listenner&filter
- jsp 中 request跳转和response 跳转
- jsp中 response和request区别
- request,response,session,application四者之间的作用域联系以及各自的运行机制
- jsp的内置对象request和response
- jsp 内置对象response,request,session 以及 cookie 对象的综合例子 和 include指令
- jsp 内置对象response,request,session 以及 cookie 对象的综合例子 和 include指令
- response.sendRedirect() 和 dispatcher.forward(request,response)之间的区别
- response.sendRedirect() 和 dispatcher.forward(request,response)之间的区别
- response.sendRedirect() 和 dispatcher.forward(request,response)之间的区别
- JSP、Request、response小结
- 数据结构之顺序表
- Your operating system's lex is insufficient to compile libpcap
- 笔试题记录1
- 数组
- 数组 数组方法 String方法
- jsp 中request 、response以及filter互相之间的关系
- 并查集-2
- Function函数
- JavaScript Boolean 对象
- DevExpress的LayoutControl
- mysql中文乱码,mysql中文但是网页显示乱码解决办法
- 作用域 变量的提升
- html链接下光标的不同形状
- Java XML解析技术