<request&response细节>
用字节流写数字给浏览器时,要将数字转换成字符串类型 ,否则服务器会将数字当成字符编码编译,服务器默认使用
“ISO-8859-1”编码。
OutputStream out = respose.getOutputStream();
out.write((120+"").getBytes());
byte是基本数据类型,Byte是byte的包装类,是个class。
final为修饰关键字
类被声明为final则此类不能被继承,一个类不能既被声明为final又被声明为abstract。
变量被声明为final则不能被修改,且必须赋初始值。
方法被声明为final则此类只能被使用,不能被重载。
finally为异常处理程序块,不能是否有异常发生,finally中的程序都会被执行,先执行catch语句再执行finally语句。
respose.setHeader("Content-Disposition","attachment;filename=***");
语句中“Content-Disposition”和“content-disposition”都能执行
setHeader()参数不区分大小写
BufferedImage image= new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.fillRect(0, 0, WIDTH, HEIGHT);
g.drawRect(1, 1, WIDTH-2, HEIGHT-2);// x, y, x+width, y+height; 画在image的边界上无法显示边框
java.long.Math.random();返回带正号的double值,该值大于等于0.0且小于1.0
java.util.Random.nextInt(int n);返回一个伪随机数,在0(包括)和n(不包括)之间均匀分布int值;
做好随机验证码图片后可以用JS技术制作“看不清换一张”的动态功能,而不会刷新html表单填写的内容。
请求重定向,浏览器向服务器发送了两次请求,request和response对象分别有两个。
请求重定向,浏览器的地址栏会发生变化,主要应用于登陆场景。
response.sendRedirect("/(项目名)/(文件名)");//相对URL映射地址
sendRedirect()语句相当于
————response.setStatus(302);
response.setHeader("location", "相对URL映射地址");
getOutputStream()和getWriter()两个方法相互排斥,调用了其中一个就不能再调用另一个。
通过getRequestDispatcher()方法转发时,转发到的Servlet与请求转发的Servlet只能同时调用以上相排斥的
方法之一,两个分别调用以上方法时会发生错误:getWriter()/getOutputStream() has already been called
for this response.
注意!服务器把jsp文件写给浏览器会自动调用getWriter()方法
request.getRequestURL();返回请求访问的http地址
request.getRequestURI();返回请求访问的web资源地址
request.getQueryString();返回请求行中的参数部
request.getRemoteAddr();返回发出请求客户机的IP地址
request.getRemoteHost();返回客户机完整主机名
request.getRemotePort();返回客户机所使用的网络端口号
request.getLocalAddr();返回web服务器的ip地址
request.getLocalName();返回web服务器的主机名
request.getMethod();返回客户机请求的方式
request.getHeader()方法中忽略请求头字段参数的大小写
String[] values = request.getParameterValues("name");使用需要考虑values为null的情况,否则可能出错。
request.getInputStream()方法用在文件上传。
request.getHeader("referer")可用作防盗链,直接在浏览器地址输入访问,referer返回的值为NULL
request.setCharacterEncoding("UTF-8");对请求参数进行中文编码,告诉服务器用什么编码打开字节流,只对
POST提交方式有效,对GET方式无效。
GET方式需如下转换:
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
超链接中提交的数据包含中文,一定要url编码(GET方式)
request对象同时也是一个域对象。
forward()和include()实现了多个WEB应用资源间的协作。
如果在调用RequestDispatchar.forward(request,response)方法之前,在Servlet中写入的部分已经被真正的传输
到了客户端,forward()方法将抛出IllegalServletException。
若调用forward()方法之前向Servlet引擎的缓冲区(response)写入了数据,缓冲区的数据没有被真正提交到客户端
就可以正常执行forward()。
forward()方法执行时会清空原来写入到输出缓冲区的内容,但已写入到HttpServletResponse对象中的响应头字段
信息会保持有效。
执行了forward()后再向response中写入数据不会有效。
转发只有一次请求,只有一个request和一个response,转发涉及的多个资源共享同一个request和response
转发,浏览器地址栏不发生变化。
RequestDispatchar.include()方法使用:
request.getRequestDispatchar("/practice/head.html").include(request, response);
response.getWriter("Hello");
request.getRequestDispatchar("/practice/foot.html").include(request, response);
一般写资源地址时,建议以"/"开头,
如果这个地址给浏览器用,"/"代表网站下web应用根目录 (URL映射地址)
如果这个地址给服务器用,"/"代表WEB应用根目录 (硬盘地址)
客户端提交的请求方式是大写的GET,POST。(request.getMethod()的返回值)
java response返回content data
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:Ambari调整yarn队列资源
下一篇:JAVA微信登录获取电话号码
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java实现异步回调返回给前端
java实现异步回调返回给前端
Java Async 数据 -
python获取response返回data装入字典
昨晚分享了Python爬虫的基本知识,本文分享一下爬虫里面请求相关的内容:Requests 用法。在了解完爬虫相关的基础知识以后,我们就可以尝试去开发自己的爬虫程序了。我们使用的是Python 语言来开发爬虫,其中不得不学习的就是关于 requests 库的使用了1、安装 requests 库因为学习过程使用的是 Python 语言,需要提前安装 Python ,我安装的是 Python 3.8,
python partial python post请求 python requests python爬虫代码大全