Request

个我总结:只要记住 只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。

3.什么情况下为响应?什么情况下为请求?
简单一句话,请求就是好像你向某个为借东西,响应就是他把这个东西借给你!!!

 

[JSP] JSP中的隐藏对象 -- request- -

  request告,就可以在JSP网页中使用,在转
译为Servlet之后,它会转换为javax.servlet.http.HttpServletRequest型态的对
象,HttpServletRequest对象是有关于客户端所发出的请求之对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请
求方法、请求参数、使用者IP等等信息。
  request的主要方法:
  getParameterNames():取得客户端所发出的请求参数名称.
  getParameter():可以让您指定请求参数名称,以取得对应的设定值.
  getServerName():请求的服务器.
  getProtocol():使用协议.
  getMethod():请求方法.
  getServerPort():请求端口号.
  getContextPath():Context路径. context理解为上下文比较好(也就是一个项目)
  getServletPath(): Servlet路径.
  getRequestURI():URI路径.
  getQueryString():查询字符串.
  getRemoteAddr():使用者主机IP.
  getRemotePort():使用者使用端口号.
  例子:
  http://localhost:8080/myjsp/requestdemo.jsp?name=john&nick=johncn
  对应的信息为:
  请求的服务器: localhost
  使用协议: HTTP/1.1
  请求方法: GET
  请求的端口号: 8080
  Context路径: /myjsp
  Servlet路径: /requestdemo.jsp
  URI路径: /myjsp/requestdemo.jsp
  查询字符串: name=john&nick=johncn
  使用者主机IP: 127.0.0.1
  使用者使用端口号: 1060

response

  [JSP] JSP中的隐藏对象 -- response- -
  JSP的response隐藏对象在转换为Servlet之后,对应于HttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端请求之响应,您可以利用它来设定一些要响应的讯息,例如标题信息、响应状态码等.
  response的常用方法:
  setHeader():是一个通用的标头设定方法,您可以用它来设定任何「名称/值」的标头.
  setIntHeader():是专门用来设定整数值标头的版本.
  setDateHeader():是setHeader()的Date设定版本,第二个参数是设定Date的Long数值,0表示GMT 1970/1/1 00:00。
  (Note:以上3个函数用来设置HTTP协议的表头,必须对HTTP协议有些了解才能正确使用,我现在也不清楚).
  setStatus():是用来设定回应的状态码,例如404 Not Found,HttpServletResponse类中提供了一些助忆常数设定,例如SC_NOT_FOUND就是表示404状态码(可以在Servlet API文件中查询相关的助忆常数).
  sendError():会根据服务器的预设错误网页回报方式显示错误讯息.
  sendRedirect():设置重定向页面.
  getWriter():取得PrintWriter对象,由它来写出响应至服务器的本体信息.

1.输出文本和HTML代码
利用的是response提供的Write()方法
Response.Write("peterbbs");
Response.Write("< br />");输出换行符号
string table ="<table border=1>........";
Response.Write(table);//Output html

2.输出图像
Response输出图像是通过输出该图像的二进制数据实现的实现方法BinaryWrite();
具体方法:
(1) 将图像的虚拟地址转换为物理地址
(2) 定义文件流 读取二进制数据 并保存
(3) 调用方法BinaryWrite();
(4) 设置当前的Web窗体页的输出格式为“image/pjpeg”,此格式只能输出文件后缀名".jpg"的图像
(5) 调用Response对象的End()方法,中止页面的其他输出。

string path = Request.MapPath("~/image.gif");
        FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read);
        byte[] imageData = new byte[(int)fs.Length];
        fs.Read(imageData, 0, (int)fs.Length);
        Response.BinaryWrite(imageData);
        Response.End();//使用这个东西的时候,你会发现你再response的任何write方法都失效了

3.页面间的跳转
这里我就不写了,在我的BAIDU空间里有关于新窗口的response.redirect的方法

4.页面间的参数传递
直接就response.redirect("######.aspx ? id =10"); 就可以了,需要记住这个格式,很固定的。
获取传递过来参数就直接调用Request.Param 就可以获取这个值了


其它问题:
1.JSP中,request是不是HttpServletRequest的一个实例?  
                      response是不是HttpServletResponse的一个实例?  
        若是,我就不理解了,HttpServletRequest不是接口吗?接口怎么会有实例呢?  
        若不是,request/response它是哪个类的实例呢?
request是HttpServletRequest的一个子类的实例,这么说很含糊,事实上这个具体类根据不同的服务器是不同的,但是这些
具体类都implement了HttpServletRequest接口。因为无法确定具体是哪个类,所以request只能说与
javax.servlet.http.HttpServletRequest对应。你可以在不同的服务器下使用相同的Jsp页面,在其中嵌
入<%=request.getClass()%>看看
request对象与javax.servlet.http.HttpServletRequest类对应,  
  response对象与javax.servlet.http.HttpServletResponse类对应
2.当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。解决方法是在需要接收request对象内容的页面加一句
request.setCharacterEncoding("GB18030");
这里的GB18030是根据你自己的页面编码来决定的。
3.什么情况下为响应?什么情况下为请求?
简单一句话,请求就是好像你向某个为借东西,响应就是他把这个东西借给你!!!

Request和response的用法总结的更多相关文章

  1. request 和response

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

  2. java web(四):request、response一些用法和文件的上传和下载

    上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...

  3. java web(三):ServletContext、session、ServletConfig、request、response对象

    上一篇讲了Servlet: 1)什么是Servlet[servlet本身就是一种Java类,这种Java类提供了web形式的方法,只要实现了servlet接口的类,都是一种servlet资源.] 2) ...

  4. #HTTP协议学习# (一)request 和response 解析

    注:本文转自:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html , 粉字[]内内容为个人笔记 当今web程序的开发技术真是 ...

  5. JSP Servlet中Request与Response所有成员方法的研究

    HttpServletRequest与HttpServletResponse作为Servlet中doGet.doPost等方法中传递的参数,承接了Http请求与响应中的大部分功能,请求的解析与响应的返 ...

  6. 转 #HTTP协议学习# (一)request 和response 解析

    http://www.cnblogs.com/bukudekong/p/3834020.html #HTTP协议学习# (一)request 和response 解析   注:本文转自:http:// ...

  7. javaweb入门-----request与response的作用

    request对象和request对象的原理 1.request和response对象request对象和request对象的原理时由服务器创建的,我们来使用它们 2.request对象是来获取请求消 ...

  8. python的scrapy框架的使用 和xpath的使用 && scrapy中request和response的函数参数 && parse()函数运行机制

    这篇博客主要是讲一下scrapy框架的使用,对于糗事百科爬取数据并未去专门处理 最后爬取的数据保存为json格式 一.先说一下pyharm怎么去看一些函数在源码中的代码实现 按着ctrl然后点击函数就 ...

  9. Request 和 Response 原理

    * Request 和 Response 原理:     * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可        * 继承体系结构: ...

随机推荐

  1. sqoop的使用

    1.sqoop的安装 1.1 与hadoop和hive的集成,修改/opt/cdh/sqoop-1.4.5-cdh5.3.6/conf/sqoop-env.sh 文件

  2. Angular.js 的初步认识

    MVC模式 模型(model)-视图(view)-控制器(controller) Angular.js采用了MVC设计模式的开源js框架 1.如何在angular.js建立自己的模块(model),控 ...

  3. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  4. centos7 docker zookeeper

    docker run --name=zookeepertmp -i -t centos7/jdk7 /bin/bash cd /home wget http://apache.fayea.com/zo ...

  5. 剑指offer三: 斐波拉契数列

    斐波拉契数列是指这样一个数列: F(1)=1; F(2)=1; F(n)=F(n-1)+F(n); public class Solution { public int Fibonacci(int n ...

  6. bootstrap 实战入门教程(一)

    说起响应式前端框架,比较而言,bootstrap还是不错的,虽然可能很多文档都是英文的.今天就整理下自己在学习及使用bootstrap3时的重要知识点和使用案例 参考资料: runoob的bootst ...

  7. PHP绘图

    创建图像的一般流程1.设定标头,告诉浏览器你要生成的绘图类型.2.创建一个图像区域,以后的操作都将基于此图像区域.3.在空白图像区域绘制填充背景.4.在背景上绘制图形轮廓输入文本.5.输出最终图形.6 ...

  8. soapUI请求参数Style与Level使用

    http://blog.sina.com.cn/s/blog_71bc9d680102wsuw.html 1.2.资源参数 在这一节中,我们更为详细的看看提供给你不同类型的REST参数.有五种类型的可 ...

  9. qq加好友加群限制ip怎么解决

    目前各样格式的推广都会用到腾讯QQ,现在就遇到了问题.QQ加好友加群,经常会提示你的账号存在不安全因素,暂停加好友功能.这个原因都是本地同一个IP,登陆的QQ过多,加好友过多.导致这个IP被记录,相当 ...

  10. 解决IE7和IE6不支持javaScript中的indexOf函数的问题

    我这里是针对两个字符串的,如果是字符数组也差不多,代码如下: function indexCheck(str, sortStr) { str = String(str);// 将参数处理下,避免有数字 ...