惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

博客园 - 淡无心

Git 常用操作命令手册 Idea快捷键 Java_core复习 gitblit重置管理员密码【gitblit】 使用命令创建git仓库 Windows平台下搭建自己的Git服务器【gitblit】 python笔记 代码整洁之道 Vue学习02 Vue学习01 linux 服务器挂在目录 java内部编码 用base64Encoder进行编码 和base64Decoder解码 序列化和反序列化 配置Tomcat服务器数据连接池 SVN修改地址 Linux初始root密码设置 plsql的使用,本地只装一个客户端。 [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
HttpServletResponse类
淡无心 · 2016-07-02 · via 博客园 - 淡无心

  当客户端浏览器请求服务器后,该服务器就会将返回信息封装到HttpServletResponse里进行响应,返回信息中的第一行为状态行,共分为5类,

  100-199:表示服务端成功接受请求,但要求客户端继续提交下一次请求才能完成全部处理过程。

  200-299:表示服务端已成功接受请求,并完成了全部处理过程。

    300-399:表示客户端请求资源已经到了别的位置,并向客户端提供了一个新地址,一般这个新地址由HTTP响应头的Location字段指定。

  400-499:表示客户端请求有误。

  500-599:表示服务端出现错误。

  response.setStatus(*);//设置状态

  response.sendReadirect("URL") //可以是绝对路径www.baidu.com  也可以是相对的(webdemo/test.html);

  响应浏览器请求,返回数据例子 

  //设置响应头数据

  //在浏览器页面上输出YES

  //输出字符流 PrintWriter out = response.getWriter();

  //输出字节流 OutputStream out = response.getOutputStream();

 1 package com.demo.servlet;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 import java.util.Calendar;
 6 
 7 import javax.servlet.ServletException;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 /**
13  * 
14  * ClassName: ExploreResponseHeader
15  * @Description: 验证响应消息头设置情况
16  * @author zgb
17  * @date 2016-7-2
18  */
19 public class ExploreResponseHeader extends HttpServlet {
20 
21     
22     private static final long serialVersionUID = 1L;
23 
24     //处理客户端的get请求
25     protected void doGet(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         
28         response.setContentType("text/html;charset=UTF8");
29         response.setHeader("Content-Length", "1234");
30         //加一个NewFileld1字段
31         response.addHeader("NewFileld1", "value1");
32         //获得Calender对象
33         Calendar calendar = Calendar.getInstance();
34         calendar.set(2016, 07,02);
35         //增加一个Mydate字段
36         response.addDateHeader("MyDate", calendar.getTimeInMillis());
37         //加一个NewFileld2字段
38         response.addIntHeader("NewFileld2", 3000);
39         //设置状态为500
40         response.setStatus(500);
41         //获取用于输入输出消息的PrintWriter对象
42         PrintWriter out = response.getWriter();
43         out.println("YES");
44         
45     }
46 
47 }

文件下载

 1 package com.demo.servlet;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.io.OutputStream;
 7 
 8 import javax.servlet.ServletException;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 
13 /**
14  * 
15  * ClassName: DownFlieServlet
16  * @Description: 下载文件
17  * @author zgb
18  * @date 2016-7-2
19  */
20 public class DownFlieServlet extends HttpServlet{
21 
22     /**
23      * @Fields serialVersionUID : TODO
24      */
25     private static final long serialVersionUID = 1L;
26 
27     @Override
28     protected void doGet(HttpServletRequest requset, HttpServletResponse response)
29             throws ServletException, IOException {
30         //1.获取要下载文件的绝对路径
31         String realPath = this.getServletContext().getRealPath("/download/2.png");
32         //2.获取下载文件的名称
33         String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);
34         //3.设置content—dispositon响应控制浏览器以下载的形式打开文件
35         response.setHeader("content-disposition", "attachment;fileName="+fileName);
36         //4.获取要下载的文件输入流
37         InputStream stream = new FileInputStream(realPath);
38         
39         int len = 0;
40         
41         byte[] buffer = new byte[1024];
42         
43         OutputStream out = response.getOutputStream();
44         
45         while((len = stream.read(buffer))>0){
46             
47             out.write(buffer,0,len);
48             
49         }
50         stream.close();
51         
52     }
55 
56 }