Request对象和Response session

request.getContextPath()到底获取的谁的绝对路径?什么叫绝对路径?在硬盘里存在的吗?
假设有一个项目名为:report_emp
request.getContextPath()获得的是当前的项目名  /report_emp,
要想获得项目实际在磁盘中存贮路径可以使用request.getSession().getServletContext().getRealPath("/");
本地资源管理器而言:

绝对路径:是从盘符开始的路径,磁盘上真正的路径的,例如:E:\帮助文档\Jquery\jqAPI;
相对路径:是从当前路径开始的路径,如当前路径为E:\帮助文档,则Jquery\jqAPI为相对路径;

就web站点而言:

假如我们在report_emp的admin/login.jsp中访问了report_emp/admin/images/logo.gif的图片
绝对路径:以Web 站点根目录为参考基础的目录路径;
             在login.jsp中的src则为report_emp/admin/images/logo.gif
相对路径:以引用文件之网页所在位置为参考基础,而建立出的目录路径;
              在login.jsp中的src则为./images/logo.gif

区别: 

request:

1、request.getParameter("key")接受的是来自客户登陆端的数据,接受的是post或get方式传送的value。

2、请求的默认字符集是ISO-8859-1,不支持中文,需要new String (request.getParameter(key).getbyte("ISO-8859-1"),"UTF-8")进行转码。

3、可以给请求对象添加数据但是必须通过forward进行转发。

4、request.setAttribute(key,object)--发送对象,request.getAttribute(key,object)--接受对象。

5、接收cookie  Cookie[] ck = request.getCookies();获取值--遍历for(Cookie cks:ck){out.print(URLDecoder.decode("编码后的字符串"))}。

response:

1、发送cookie--添加cookie对象:Cookie ck=new Cookie("key","value");addCookie(Cookie对象)

2、跳转页面--sendRedirect("跳转地址")--直接跳转。

3、setHeader("refresh","秒数;URL=跳转地址")--定时跳转页面。

4、setHeader("refresh","秒数")--定时刷新页面。

5、没有设置属性值的方法。没有setAttribute的方法。

6、setheader("cache-control","no-cache")--禁止浏览器缓存

session:

1、setAttribute("key",object)--设置属性值。getAttribute("key")--获取属性值--返回Object类型需要将获取到的值用toString()方法。

2、session.invalidate()--销毁session--一般退出登录时用。

3、setMaxInactiveInterval(秒数)--设置超时秒数。

猜你喜欢

转载自blog.csdn.net/qq_42217201/article/details/81205157