javaweb--RequestAndResponse--知识点摘要

一.Response

-1.防盗链问题;
    在获取浏览器请求时,判断请求来源,根据来源做相应处理.
    例如:对于非本网站的来源,请求本网站资源,就跳到本网站主页去显示广告;;;
0.response功能
    主要向客服机写入数据,实现文件打开方式(下载,图片,视频,文本...)
    一般来说,向客户机写入字符数据时,将输出流包装成PrintWriter会更方便
    写入二进制数据如:图片,视频,音频等,还是使用响应流,然后按照传统复制文件的方法将数据写给浏览器就行了.
    设置头信息,写入Cookies ,session,属性值对等等

1.控制浏览器定时刷新refresh
    response.setHeader("refresh",time);
2.控制浏览器缓存有效期
    response.setDateHeader( "expries" ,time);
3.response请求重定向方法
    一:Http协议302状态码
        response.setStatus(302);
        response.setHeader("location","address");
    二:专有方法
        response.sendRedirect(address);
4.如何让浏览器以下载方式打开文件
    在传输数据前设置头信息
    response.setHeader("Content-disposition","attachment;filename="+URLencode(fileName,"UTF-8"));
    在传输中文名文件时,文件名要进行URL编码
5.URI:相对于主机的访问页
   URL:互联网地址,在URI加上了主机名称

二.Request
6.
    requset中的常用获取信息的方法
    getRequestURL:返回请求完整URL
    getRequestURI:返回请求资源路径名
    
    getRemoteAddr:返回请求来源主机IP
    getRemoteHost:返回请求来源主机名
    getRemotePort:返回请求来源端口
    getLocalAddr:返回服务器IP地址
    getLocalName:返回服务器主机名称
    getLocalPort:返回服务器处理该请求的端口
    getMethod:返回请求类型(get post put ...)
    获取数据
    getQueryString:返回请求行后附带的参数
    getSession:返回与当前请求关联的会话session
    getCookies:返回当前请求的cookie数组,没有则返回空
    getAttribute:获取请求域中的属性数据
    getParameterNames:获取请求中所有的参数名称
    getParameterValues:获取某个参数的所有值
7.    request获取中文数据前,一定要处理数据编码
    post请求下:    request.setCharacterEncoding("utf-8");
    get请求下:  
    手工处理,ISO8859-1=>utf-8
    将获取的字符串以iso8859-1编码获取字节数组,
    在以utf-8编码将其转换为字符串
8.requset实现转发
    
    request是一个域对象,容器.只要该请求存在,request就存在
    request.getRequestDispatcher(address).forward(req,resp);
    此方法可以将请求数据,参数等信息一并带过去,非常方面处理
    注意细节:
        如果在转发时,执行forward方法前,有程序将servlet中的部分数据传到了客户端,那么就会发生
        非法状态异常:IllegalStateException
        在转发之前写入缓冲区中的数据会被清空,但是写入头中的信息会保存
    RequestDispatcher中方法include
        此方法可以实现数据包含.就是将其他页面的数据包含到本页面中来.
        注意:包含页面中的数据做好不要与当前页面有标签冲突.只包含数据最好
9.MVC (Model(javaBean) view(jsp) Controler(servlet))
10.web开发servlet中的地址编写规范
    基本规则;
        "/"
        如果改地址是给服务器应用的,/ 代表web应用根目录
        如果地址给浏览器用的,/代表网站主机地址
    (相对web应用根目录)
    1.请求跳转地址
    2.响应跳转地址
    3.获取资源路径
    4.获取资源作为流
    (相对网站主机地址)
    5.表单提交处理地址
    6......

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值