1 get和post的区别

  • get支持缓存;post不支持缓存
  • get参数保存在url;post保存请求体
  • get有长度限制;post无长度限制
  • get没有请求体,post有请求体

2 HTTP中重定向和请求转发的区别

请求转发是服务器行为,重定向是客户端行为。

请求转发只能将请求转发给同一个web应用下的其他页面

重定向不仅可以将请求转发给同一个web应用下的其他页面,还可以转发到其它站点的

页面

请求转发是一次请求,重定向是两次请求

请求转发地址栏url不会发生变化,重定向地址栏url会发生变化

forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.

forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等

3 请求中获取参数的三个方法

  • String getParameter(String name):根据参数名称获取参数值
  • String[] getParameterValues(String name):根据参数名称获取参数值的数组
  • Enumeration getParameterNames():获取所有请求的参数名称

4 作用域与操作作用域的方法

作用域: pageContext,request,session,application作用域范围从小到大

pageContext:当前页面有效 (页面跳转后无效)

request:同一次请求有效(请求转发后有效;重定向后无效)

session:同一次会话有效(关闭/切换浏览器后无效 ; 默认30分钟有效期)

appliation:全局有效 (切换浏览器 仍然有效) 服务器开着就有效

作用域共有方法:

  1. Object getAttribute(String name): 根据属性名,获取属性值
  2. void setAttribute(String name,Object obj): 设置属性值(新增,修改)
  3. setAttribute(“a”,”b”) : 如果a对象之前不存在,则新建一个a对象; 如果a之前已经存在,则将a的值改为b
  4. void removeAttribute(String name):根据属性名,删除对象