1.HTTP SERVLETRESPONSE简介

set heade
set int head
set data head
add haed
add int head
add int head

字节流可以写任何数据;
字符流只可写字符数据;

利用output stream来输出数据以及输出中文。

此时要注意这时的编码表。
html语言<mata>标签可以模拟一个HTTP 的响应头来控制浏览器的行为
<mata>标签
当你的程序写错时浏览器会提示下载
浏览器就是一个文本显示工具
字符与数字在浏览器中的显示不一样

二:
RESPONSE 的常见应用

PRINT WRITE 字符输出流不必要强转字符

通过response的write流来输出数据注意乱码问题

解决相关的乱码问题

老外喜欢用ISO8859码表
解决乱码问题的关键找出显示的码表改为自己想要的码表同时要控制浏览器的
打开码表来确保文件数据的正确输出
控制response选择码表的代码:response.setCharacterEncoding("UTF-8");

控制浏览器打开时选择码表的代码:
response.setHeader("context-type","text/html;chaeset=UTF-8");
便捷的方法:response.setContextType("text/html;charset=UTF-8");
三:
response的下载应用

文件的下载:
建立一个down-load目录来保证下载的资源

步骤:1.得到文件,用流来读取数据在web文件中的资源在servlet中用
context来读资源。
得到资源的绝对地址然后来读取资源将读到的资源写到浏览器中
写到浏览器中的代码如下:out=response.getoutputstream();

开发中的文件名一般为中文文件
如果下载的文件为中文文件文件名需要URL 编码:
例如:response.setHeader("context-disposition","attachment;filename"+URLEncoder.encode(filename,"UTF-8"));

四:
常见应用:显示随机应用图片:

步骤:先构建一张图片找一个bufferedImage

ImageIO类图形的输入与输出
与浏览器相关联的流response.utput stream()来进行图片的传输

字体旋转的方法:graphics2D:rotate方法旋转

五:
常见应用定时刷新
控制浏览器定时刷新refresh来控制

refresh刷新头

浏览器跳转时非常实用
利用浏览器之间的解析技术来解析浏览器的跳转信息
令浏览器自动跳转
六:
常见应用缓存技术控制浏览器缓存
用Expires头来控制代码如下:
代码:response.setDateHeader("expries",system.currerTimeMillis()+1000*3600);

代码缓存一小时。
七:请求重定向
常见的response应用:实现请求重新定向及将请求转到另一个服务资源
地址会发生变化。建议不要用请求重定向
会加重服务器的负担
必须用的情况:1.登陆的时候必须要用请求重定向
2.购物的时候若用转发会不断重复执行上一次的请求
及会不断的购买所购的物品而请求重定向的方法则只会
请求一次。
特点:1.浏览器会向服务器发送两次请求意味着有2个request和response
2.用重定向技术,浏览器地址会发生变化。

response的细节

1.getoutputstream与getwrite互斥两个不能被同时调用注意不能再两个转发的程序中写(最容易)
异常表现代码:getoutputstream()has already been called for this response
以后的调用基本都可以用字节流搞定没必要非去搞字符流
当用重定向时则不会出现这个问题因为发出了两次请求,有两个response

2.servlet的代码数据会写到response中服务器再从response中读取数据并向浏览器发送,后浏览器解析

request对象的讲解客户端的请求客户的请求放在request中
HTTPservletrequestAPI的讲解
获得请求方式getmethed
获得请求资源getrequestURL
http://www.sina.com/news/1.html为URL
其中/new/1.html为URI
URI可以表示任何资源是URL可以表示互联网上的资源
所以URI是URL的父亲用的更多的是URI
getHeadName可以得到所有头的名称在调用头可以得到头的值
getHeads可以得到所有的相同头的值
常用方法:getRequestURL:返回客户端发出请求时的完整URL
getRequestURI:返回客户端发出请求时的完整URI
其他常用方法见QQ好友帅的图片。

用request来获取头和请求数据:
1.String headVaule=reuqest.getHeader("Acceot-Encoding");
system.out.println(HeadVaule);

2.request.getHeads("名称");

3.e=request.getHeadNames();

获取客户及所带来的数据
两种带数据方式------一种以超链接来带
<a href="web资源">点带你</a>

第二种 以表单来带数据给服务器
3. 通过名称来获取值

request.getParamterNames();
4.MAP map=request.getparameterMap();

BeanUtils.populate(文件,map)//username string[]//用map集合的数据来填充Bean

BeanUtile.copyPropertites(user,forbean) bean的拷贝
5.request。getIntputStream();
流的使用与获取方式。
最常用的数据获取方式:
string value=request.getParameter("username");
if(value!=null&&!value.trim().equals("")){
system.out.println(value) ;
}

收集用户的数据:
通过表单来收集用户的数据:
收集是必须要将name定义给服务器

1. 收集姓名的表单类型用text的表单
2.收集密码的表单类型用password的表单
3.收集性别的表单类型用radio的表单
4.收集用户的所在地
5.收集爱好的表单用checkbox
6.收集用户简介的表单用rows,cols 的表单
7.收集照片是的表单类型用file输入项必须要加name
8.隐藏输入项用hidden类型
获取时用request.getparameter("");来获取相应的客户数据第十二个视频可以做一下练习
!!!!!!!!!!!!!!!!!!!! 数据一定要先检查后使用!!!!!!!!!

url后跟的编码数据若是中文要编码后在提交
中文乱码问题:
解决乱码问题的方式:
在request出控制码表:
request。setcharacterEncoding("UTF-8");只对post提交有效
若是get提交我们只能手工解决:得到数据的后将username的数据转为
UTF-8的码表,代码如下:
String name=request.getparameter("username");
username=new String (username.getBytes("iso8859-1"),"UTF-8");
system.out.println(username);
第二种解决文件乱码问题的方法,直接改配置文件只讲解不使用,因此
在此不做过多解释,要详细的解释请看day06的第13个视频。

request的转发以及使用request域对象把数据带给转发资源(重要)
request的请求转发request同时也是一个域对象
request的域及request的作用范围
request的专门转发方法通过request域对象带过去MVC

$(data)//jsp中的一个专门的输出方法从四个域中找data然后输出

Mvc技术的解释及原理
servlet收到请求产生数据,使用Javabean封装通过转发技术输出转给jsp
数据带过去存在request域上,从request域里取数据最后由输出。

print write输出流
在跳转之前不可以关闭流若关闭则会抛出异常
2.for word会清空response中的数据
for word特点:1.客户端只发出一次请求服务器端有多个资源调用
2.客户端浏览地址栏没有改变

request中的转发方法的include方法
用include实现页面包含在servlet中的技术
被包含页面不要出现全局架构标签

web的工程中各类地址的写法
地址最好以/开头给浏览器就代表网站
给服务器就代表web应用
request常见应用防盗链

request。getHeader("referer");
if(referer==null&&referer.startswith("http//localhost")){
response.sendredirect("/day06index.jsp")
return;
}
String data="";
response.getwriter().write(data);

转载于:https://www.cnblogs.com/shuai9999/p/8947080.html

request和response一览相关推荐

  1. SpringMvc4中获取request、response对象的方法

    springMVC4中获取request和response对象有以下两种简单易用的方法: 1.在control层获取 在control层中获取HttpServletRequest和HttpServle ...

  2. 简单了解request与response

    本文对 request. response 简单描述,未涉及到具体的浏览器缓存.重定向.请求转发等代码部分. 一.Web服务器,浏览器,代理服务器 在看 response.request 对象之前,先 ...

  3. request 和response

    当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...

  4. Struts2中action获取request、response、session的方式

    2019独角兽企业重金招聘Python工程师标准>>> 第一种方式,非IoC(Spring中的控制反转)方式: package com.action; import java.uti ...

  5. Spring MVC中处理Request和Response的策略

    前沿技术早知道,弯道超车有希望 积累超车资本,从关注DD开始 作者:码农小胖哥, 图文编辑:xj 来源:https://mp.weixin.qq.com/s/3eFygsiVl8dC2nRy8_8n5 ...

  6. request、response 中文乱码问题与解决方式

    request.response 中文乱码问题与解决方式 request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码: response乱码指的是:服务器向 ...

  7. ASP.NET之Request和Response对象

    经过了牛腩新闻公布系统和html的学习对B/S开发的流程有了些理解.前面尽管用到了非常多知识.但对制作网页仅仅能说知其然.当学到asp.net视频中的解说才干够说開始知其所以然了. 今天来说说clie ...

  8. error response from daemon_Scrapy 框架-模拟登录-Request、Response

    1. Scrapy-Request和Response(请求和响应) Scrapy的Request和Response对象用于爬网网站. 通常,Request对象在爬虫程序中生成并传递到系统,直到它们到达 ...

  9. HTTP请求消息数据格式分析以及request和response

    * HTTP概念 Hyper Text Transfer Protocol 超文本传输协议         * 传输协议:定义了,客户端和服务器端通信时,发送数据的格式         * 特点:   ...

最新文章

  1. ActiveMQ消息存储持久化
  2. 首次安装Pycharm出现No Python interpreter selected解决方法
  3. JAVA 的读取Excel方法_纯Java的方式读取excel2007
  4. 基于MysqlConnector/C++的数据库连接池的实现
  5. 怎么判断冠词用a还是an_【语法微课堂】英语冠词的用法,学会这4点,轻松玩转a、an、the...
  6. layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...
  7. 数据结构与算法python—2.顺序表(数组)以及python实现
  8. 从源码的角度分析ViewGruop的事件分发
  9. Oracle函数——日期函数
  10. 关于unity导出FBX文件
  11. 局域网联机_七日杀v17.2(B27)版/支持局域网联机/多项修改器/初始存档/局域网联机教程...
  12. 【时间与空间】极移矩阵
  13. 设计师必备的设计类导航网站
  14. 讲讲React中的State和Props
  15. 创业低谷期时怎么度过?
  16. 达内 Java 全套教程 NPM、PYPI、DockerHub 备
  17. 使用vue+echarts快速进行全国地图与各省市地图联动(下钻地图), 引入省份js文件
  18. hdu 3054 Fibonacci 找规律
  19. 如何快速访问StackOverFlow
  20. HDU 1166 线段树

热门文章

  1. 黄聪:说说JSON和JSONP,也许你会豁然开朗(转)
  2. .ccz 批量转换为 .png
  3. 在HYPER-V中利用差异磁盘和SYSPREP技术安装多个WINDOWS 2008
  4. c#大文件读取和写入数据库
  5. 增强我们的Visual Studio(更新中)
  6. 解开一个困扰自己多时的小问题
  7. python函数文档说明调用方式_Python 跨.py文件调用自定义函数说明
  8. invalid character in identifier
  9. 中国交通标志识别,德国交通标志识别
  10. ByteBuffer详解