servlet中的请求与响应
来源:互联网 发布:微信炸群软件免费下载 编辑:程序博客网 时间:2024/05/18 02:19
一、请求
1.Get和Post的区别:
①post有一个体,而get没有,也就是说,在get请求时,可以在请求行中看到有包含请求方法、web服务器资源路径、参数已经web浏览器所请求协议的版本,以及请求行之后的请求首部。但是post不同,如果post有携带参数,那么post请求内容中,请求行是没有参数的,在请求行、请求首部之后才携带请求体,请求体中的内容就是参数。
②get和post除了在参数大小的差异之外,还有安全性问题,post请求的内容是在请求体中的,而get请求参数是在浏览器的URL后面携带的,在浏览器的地址栏中可以看到参数的具体信息。
③get和post的区别还在于书签问题,get请求可以建立书签,而post不行。
④get只是一个简单的获取,也就说get是用于简单的从服务器获取数据,而不修改服务器的内容,而post则用于发送数据来进行处理,post是一个更新,能够通过post上的数据来修改服务器的某些东西。
⑤在http协议中,get是幂等请求,post不是,即get是能够执行多次请求而不会对服务器产生任何副作用,get请求不应该修改服务器上的任何东西,但是post会,因此我们一般在对表单的请求方法使用post时,要考虑表单的重复提交问题。
ServletRequest接口中常用方法:getAttribute(String),getContentLength(),getInputStream(),getLocalPort(),getRemotePort(),getServerPort(),getParameter(String),getParameterValues(String),getParameterNames()...HttpServletRequest接口常用的方法:getContextPath(),getCookies(),getHeader(String),getIntHeader(String),getMethod(),getQueryString(),getSession()...
二、响应
1.sendRedirect()中的相对URLs:
假定用户一开始输入的URL为:http://localhost:8080/myApp/cool/bar.do, 请求到达名为“bar.do”的servlet时,这个servlet会基于一个相对的URL来调用sendRedirect(),这个相对URL没有以斜线开头:sendRedirect(“foo/stuff.html”),容器会相对于原先的请求URL建立完整的URL,需要把它放到HTTP响应的“Location”首部中,即容器知道原先的请求URL是从myApp/cool路径开始的,所以如果没有加斜线,就会将这一部分加到”foo/stuff.html”的前面:
http://localhost:8080/myApp/cool/foo/stuff.html
但是如果sendRedirect()的参数是以斜线开始的:sendRedirect(“/foo/stuff.html”),容器会相对于web应用本身建立完整的URL而不是相对于原先的URL,开始位置上的斜线意味着“相对于web容器这个根”:
http://localhost:8080/foo/stuff.html
2.响应小结:
①使用setContentType方法告诉浏览器如何处理随响应到来的数据,常见的类型为:“text/html”,”application/pdf”,”image/jpeg”等。
②得到二进制流是通过getOutPutStream(),得到书写器是通过getWriter(),getWriter()可以完成字符I/O,向流写入HTML或其他内容。
③可以通过addHeader()或者setHeader()设置响应首部,二者的区别就是,如果这个首部已经存在,setHeader()会替代原来的值,而addHeader()会向现有的响应增加另一个值,如果响应原来没有这个首部,则两者的作用是一样的。
④请求分派与重定向是不同的。请求分配时在服务器端进行,而重定向是在客户端进行的,请求分派是把请求传递给服务器上的另一个组件(通常在一个web应用中),而重定向只是告诉浏览器去访问另一个URL。
ServletResponse接口常用方法:setContentType(),getOutPutStream(),getWriter()...HttpServletResponse接口常用方法:addCookie(),addHeader(),encodeURL(),sendError(),setStatus(),sendRedirect()...
- servlet中的请求与响应
- Servlet-请求与响应
- jquery的ajax请求servlet与响应
- J2EE请求与响应—Servlet
- 响应客户端请求(servlet与jsp)
- Servlet-处理HTTP请求与响应
- Servlet&JSP 第三章 请求与响应
- jquery的ajax请求servlet与响应
- Servlet学习笔记(四):Servlet的请求与响应
- Servlet学习笔记(四):Servlet的请求与响应
- 【Servlet开发】servlet的请求与响应(二)
- Servlet中的Request和Response的请求和响应概述
- springmvc中的http请求参数与响应
- http协议中的请求与响应
- JSP&Servlet学习笔记-第三章:请求与响应
- servlet中请求转发与响应重定向
- Servlet中请求与响应的编码总结
- 2. Servlet请求与响应(Request&&Response)
- java23种设计模式
- 物理层简述
- 算法训练 Airport Configuration
- 类加载器的工作原理
- 关于OVS 硬件加速的方案设计
- servlet中的请求与响应
- Android UI控件及UI组件
- Android面试篇之软引用和弱引用的区别
- 猜数字游戏_Qt
- 超级好用的截图神器
- CSS样式之position定位
- Pixhawk之前准备
- 学生信息管理系统3——连接数据库的前提
- 数据库视频总结(三)