【Web入门系列】初探HttpServletResponse

public class ResponseServlet extends HttpServlet {

    /**
     * 1、tomcat服务器把请求信息封装到HttpServletRequest对象,且把响应信息封装到HttpServletResponse
     * 2、tomcat服务器调用doGet方法,传入request,和response对象
     * 3、通过response对象改变响应信息
     * 4、tomcat服务器把response对象的内容转换成响应格式内容,再发送给浏览器解析
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        /**
         * 设置响应实体内容编码
         */
        //response.setCharacterEncoding("utf-8");

        /**
         * 3.1 响应行
         */
        //修改状态码
        //response.setStatus(404);
        // 发送404的状态码+404的错误页面
        //response.sendError(404);

        /**
         * 3.2 响应头
         */
        //response.setHeader("server", "JBoss");

        /**
         * 3.3 实体内容(浏览器直接能够看到的内容就是实体内容)
         */
        //字符内容。
        //response.getWriter().write("hello world");
        //字节内容
        //response.getOutputStream().write("hello world".getBytes());

        /**
         * 请求重定向: 发送一个302状态码 + location的响应头
         */
        //发送一个302状态码
        //response.setStatus(302);
        //location的响应头
        //response.setHeader("location", "/myweb/adv.html");
        //请求重定向简化写法
        //response.sendRedirect("/myweb/adv.html");

        /**
         * 定时刷新
         * 原理:浏览器认识refresh头,得到refresh头之后重新请求当前资源
         */
        //每隔1秒刷新次页面
        //response.setHeader("refresh", "1");

        /**
         * 隔n秒之后跳转另外的资源
         */
        //隔3秒之后跳转到adv.html
        //response.setHeader("refresh", "3;url=/myweb/adv.html");

        // 打开图片
        /*response.setContentType("image/jpg");
        File file = new File("e://test.jpg");
        FileInputStream inputStream = new FileInputStream(file);
        int len = 0;
        byte[] byt = new byte[1024];
        while ((len = inputStream.read(byt)) != -1){
            response.getOutputStream().write(byt,0,len);
        }*/

        // 以下载的方式打开图片
        File file = new File("e://image.jpg");
        FileInputStream inputStream = new FileInputStream(file);
        response.setHeader("Content-Disposition","attachment; filename="+file.getName());
        int len = 0;
        byte[] byt = new byte[1024];
        while ((len = inputStream.read(byt)) != -1){
            response.getOutputStream().write(byt,0,len);
        }
    }

    /**
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doGet(request,response);
    }

}

原文地址:https://www.cnblogs.com/ysdrzp/p/9863571.html

时间: 2024-11-18 21:43:14

【Web入门系列】初探HttpServletResponse的相关文章

【Web入门系列】初探会话管理-Cookie技术

特点 会话数据保存在浏览器客户端. Cookie技术核心 1.构造Cookie对象 Cookie(String name, String value) 2.设置cookie #设置cookie的有效访问路径 void setPath(String uri) #设置cookie的有效时间 void setMaxAge(int expiry) : @设置cookie的值 void setValue(String value) : 3.发送cookie到浏览器端保存 void response.add

.NET Web 入门系列之架构理念

一.Web项目最简构成 1.什么是Web项目 所谓Web项目,就是一个可通过网络访问的,以浏览器为呈现载体的,可响应用户操作交互而呈现数据信息的可视化程序. 如下图所示: 图中的PC端即B/S架构中所谓的浏览器端,用于呈现Web页面,用户在浏览器中输入网址,经DNS解析完成后,即向解析所得IP地址对应的Server端发送http请求,Server端接收到请求后根据信息服务管理器(IIS)的部署,返回相对应的页面及加载所需的文件,若请求参数有误或无访问权限则返回错误页. 用户在Web页面上的鼠标点

04. Web大前端时代之:HTML5+CSS3入门系列~HTML5 表单

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html ? 待续.... 04. Web大前端时代之:HTML5+CSS3入门系列~HTML5 表单

06. Web大前端时代之:HTML5+CSS3入门系列~HTML5 画布

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html

03.Web大前端时代之:HTML5+CSS3入门系列~H5功能元素

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 2.功能元素 1.hgroup 对网页或区段(section)的标题进行组合 2.figure <figure> 标签规定独立的流内容(图像.图表.照片.代码等等). figure 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响. Figcaption figure的标题 一般格式: <figure> <figcap

构建安全的Xml Web Service系列之初探使用Soap头

原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来,Xml Web Service并没有像当初宣扬的那样火起来,尽管在一些领域之内,也有人牛刀小试,但从整体而言,Service还并没有得到广泛的应用,原因有很多,有一些来源于目前各大厂商都坚持自己的service标准,不能形成统一,也有对现有的稳定系统不愿进行更改的原因,但还包括web servic

05. Web大前端时代之:HTML5+CSS3入门系列~H5 多媒体系

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html ? ? ? ?

[渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序读取相关数据

这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第六篇:为ASP.NET MVC应用程序读取相关数据 原文:Reading Related Data with the Entity Framework in an ASP.NET MVC Application 译文版权所有,谢绝全文转载--但您可以在您的网站上添加到该教程的链接. 在之前的教程中您已经完成了学校数据模型.在本教程中你将

WPF快速入门系列(8)——MVVM快速入门

一.引言 在前面介绍了WPF一些核心的内容,其中包括WPF布局.依赖属性.路由事件.绑定.命令.资源样式和模板.然而,在WPF还衍生出了一种很好的编程框架,即WVVM,在Web端开发有MVC,在WPF客户端开发中有MVVM,其中VM就相当于MVC中C(Control).在Web端,微软开发了Asp.net MVC这样的MVC框架,同样在WPF领域,微软也开发了Prism这样的MVVM框架.Prism项目地址是:http://compositewpf.codeplex.com/SourceCont