Request和response的用法总结
Request
译为Servlet之后,它会转换为javax.servlet.http.HttpServletRequest型态的对
象,HttpServletRequest对象是有关于客户端所发出的请求之对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请
求方法、请求参数、使用者IP等等信息。
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 就可以获取这个值了
response是不是HttpServletResponse的一个实例?
若是,我就不理解了,HttpServletRequest不是接口吗?接口怎么会有实例呢?
若不是,request/response它是哪个类的实例呢?
具体类都implement了HttpServletRequest接口。因为无法确定具体是哪个类,所以request只能说与
javax.servlet.http.HttpServletRequest对应。你可以在不同的服务器下使用相同的Jsp页面,在其中嵌
入<%=request.getClass()%>看看
response对象与javax.servlet.http.HttpServletResponse类对应
request.setCharacterEncoding("GB18030");
这里的GB18030是根据你自己的页面编码来决定的。
Request和response的用法总结的更多相关文章
- request 和response
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...
- java web(四):request、response一些用法和文件的上传和下载
上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...
- java web(三):ServletContext、session、ServletConfig、request、response对象
上一篇讲了Servlet: 1)什么是Servlet[servlet本身就是一种Java类,这种Java类提供了web形式的方法,只要实现了servlet接口的类,都是一种servlet资源.] 2) ...
- #HTTP协议学习# (一)request 和response 解析
注:本文转自:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html , 粉字[]内内容为个人笔记 当今web程序的开发技术真是 ...
- JSP Servlet中Request与Response所有成员方法的研究
HttpServletRequest与HttpServletResponse作为Servlet中doGet.doPost等方法中传递的参数,承接了Http请求与响应中的大部分功能,请求的解析与响应的返 ...
- 转 #HTTP协议学习# (一)request 和response 解析
http://www.cnblogs.com/bukudekong/p/3834020.html #HTTP协议学习# (一)request 和response 解析 注:本文转自:http:// ...
- javaweb入门-----request与response的作用
request对象和request对象的原理 1.request和response对象request对象和request对象的原理时由服务器创建的,我们来使用它们 2.request对象是来获取请求消 ...
- python的scrapy框架的使用 和xpath的使用 && scrapy中request和response的函数参数 && parse()函数运行机制
这篇博客主要是讲一下scrapy框架的使用,对于糗事百科爬取数据并未去专门处理 最后爬取的数据保存为json格式 一.先说一下pyharm怎么去看一些函数在源码中的代码实现 按着ctrl然后点击函数就 ...
- Request 和 Response 原理
* Request 和 Response 原理: * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可 * 继承体系结构: ...
随机推荐
- GET方法和POST方法
package com.hanqi.cunchu; import android.app.ProgressDialog; import android.support.v7.app.AppCompat ...
- shmop ftok
http://blog.csdn.net/heiworld/article/details/25426723 对于ftok的理解 http://www.jb51.net/article/510 ...
- php 5.3新增的闭包语法介绍function() use() {}
* 下面提到的代码在PHP5.3以上版本运行通过. */function callback($callback) { $callback();}//输出: This is a anonymous fu ...
- java内存泄漏的经典案例
这篇文章主要介绍了Java中典型的内存泄露问题和解决方法,典型的内存泄露例子是一个没有实现hasCode和 equals方法的Key类在HashMap中保存的情况,可以通过实现Key类的equals和 ...
- 一个div里有多个a标签,改变a标签的字体颜色方法
<script type="text/javascript">var all=document.getElementById("big");var ...
- Redis学习-基础环境介绍(二)
1.通过VMware安装了Centos6.8系统 2.Reids安装过程,需要GCC环境 »通过下面命令,根据提示直接安装 1 yum install gcc 3.Redis选用的是3.2.4(建议使 ...
- 理解tcp协议的3次握手和面向连接
1.tcp是有连接的, 这个不是说他有个实际的连接,这个是个虚拟的连接,连接的保持信息不是由连接的路线来保存的,他是由连接的两方来保存其状态信息,这就是面向连接的, 2.tcp要3次握手: 客户端发给 ...
- join / left join / right join
1 可以自己join自己 SELECT * FROM table_1 t1join table_1 ton t.target_id = t1.target_id 2 join要双方都满足才可以出现结果 ...
- 解决Mac下MX4手机无法连接adb问题之解决方案
一般的android连接mac 很方便不用安装驱动就可以啦,可是不知道为什么特殊情况下有的android手机(小米2,华为等)就是连接不上,下来就说说特殊情况下如何连接. 使用USB连接安卓手机后可以 ...
- AxureRP8实战手册(基础31-40)
AxureRP8实战手册(基础31-40) 本文目录 基础31. 切换元件库 第2章 页面设置 基础32. 设置页面居中 基础33. 设置页面背景(图片/颜色 ...