返回顶部
首页 > 资讯 > 前端开发 > node.js >Javaweb的Response对象怎么使用
  • 744
分享到

Javaweb的Response对象怎么使用

2024-04-02 19:04:59 744人浏览 薄情痞子
摘要

这篇文章主要讲解了“javaweb的Response对象怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaWEB的Response对象怎么使用”

这篇文章主要讲解了“javaweb的Response对象怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaWEB的Response对象怎么使用”吧!

response的理解概述:

与request相对,response对象是设置响应消息。在浏览器按下F12键--点击网络--ctrl+R: 可以查看用户在浏览器端每次操作时浏览器向服务器发送的响应消息。

Javaweb的Response对象怎么使用

response的使用概述:

response作为Tomcat服务器已实现的对象,最直接的用法就是在servlet类中调用response对象的方法,response对象的功能是设置响应消息,所以方法的总体逻辑就是设置响应消息,这类方法的关键在于对响应消息的理解。

reponse对象设置响应消息的方法:
-setStatus(int sc):设置状态码
-setHeader(String name, String value) :设置响应头
设置响应体的方法:
-PrintWriter getWriter():获取字符输出流对象
-ServletOutputStream getOutputStream():获取字节输出流对象
重定向方法:
-sendRedirect(String Path): 资源跳转

redirect(重定向)和forward(转发)同为资源跳转方法,但有所区别:

* 重定向的特点: redirect

1. 跳转后地址栏发生变化:

2. 重定向可以访问项目外其他站点(服务器)的资源

3. 重定向是两次请求。前后Servlet下的request对象不能共享数据

* 转发的特点:forward

1. 转发地址栏路径不变 :

2. 转发只能访问当前服务器下的资源

3. 转发是一次请求,可以使用request对象来共享数据

跳转资源需要确定跳转后资源的路径,分为相对路径和绝对路径。

通过相对路径不可以确定唯一资源,使用相对路径需要找到当前资源和目标资源之间的相对位置关系,比如:./ 表示当前目录,../ 表示后退一级目录;

通过绝对路径可以确定唯一资源,绝对路径以/开头的路径,比如:/day15/responseDemo2即Http://localhost/day15/responseDemo2。 如果资源跳转的请求是由客户端浏览器发出比如:***,则项目的绝对路径需要加虚拟目录;如果是由服务器端发出比如:sendRedirect(),则可加可不加。

response的测试代码:

  @WebServlet("/responseTest1")public class ResponseDemo1 extends httpservlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        //1.
        String contextPath = request.getContextPath(); 
        //2.
        request.serAttribute("msg","hello Test2, I come from Test1."); 
        //3.
        response.sendRedirect(contextPath+"/responseTest2");        //response.sendRedirect("http://www.baidu.com");  //sendRedirect方法可跳转到项目外的资源
        //response.sendRedirect("location","/responseTest2");//以静态虚拟目录作为参数 
       
      
    } 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        this.doPost(request,response);
    }
}
@WebServlet("/responsTset2")public class ResponseTest1 extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        //1.再获取输出流之前设置编码,并告诉浏览器使用的编码,避免编码解码码表不一致出现乱码问题
        response.setContentType("text/html;charset=utf-8");        //response.setHeader("content-type","text/html;charset=utf-8");通过消息头"content-type"设置字符流编码并告诉浏览器 
        // response.setCharacterEncoding("utf-8"); 仅仅设置字符流编码格式,不能保证与浏览器默认解码格式统一 
        //2.获取字符输出流,默认情况下获取字符流的编码是tomcat实现的ISO-8859-1,所以需要提前设置
        PrintWriter pw = response.getWriter();        
        //3.输出数据
        String msg ="hello Test2, I don't come from Test1."
        //String msg = (String)request.getAttribute("msg");错于重定向是两次请求,不能通过request共享数据
        //
        pw.write(msg);        //pw.write("<h1>msg</h1>");
    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        this.doPost(request,response);
    }
}
@WebServlet("/responseTest3")public class ResponseTest3 extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        //1.
        response.setContentType("text/html;charset=utf-8"); 
        //2.
        ServletOutputStream sos = response.getOutputStream();        //3.
        sos.write("你好".getBytes("utf-8"));
    } 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        this.doPost(request,response);
    }
}

基于response的验证码的案例代码:

@WebServlet("/checkCodeServlet")public class CheckCodeServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        int width = 100;        int height = 50; 
        //1.在内存中创建一个指定宽高,背景色为黑色的图片对象
        BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);        //BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);创建一个带透明色的对象,最后一个参数调节灰度    
        //2.用代码画图的步骤逻辑和“画图工具”鼠标点击画图一样
        //2.1 代码“获取画笔--设置画笔颜色--填充图片背景色”相当于鼠标“点击画笔--选择画笔颜色--点击图片填充颜色”
        Graphics g = image.getGraphics();//获得画笔
        g.setColor(Color.PINK);//设置画笔颜色
        g.fillRect(0,0,width,height); //填充图片颜色 
        //2.2代码“设置边框颜色--设置边框起始位置和长宽幅度”相当于鼠标“点击选择边框起始位置--拖动鼠标确定最终边框大小”
        g.setColor(Color.BLUE); //设置边框颜色
        g.drawRect(0,0,width - 1,height - 1); //设置边框起始坐标和长宽像素,注意边框占一个像素        
        //2.3
        String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789";
        Random ran = new Random(); 
        for (int i = 1; i <= 4; i++) {            int index = ran.nextInt(str.length());//生成随机角标
            char ch = str.charAt(index);//获取随机角标对应的字符
            g.drawString(ch+"",width/5*i,height/2);//在图片上写验证码
        }  
        //2.4
        g.setColor(Color.GREEN);        //
        //随机生成干扰线的始末点坐标,并连接成干扰线
        for (int i = 0; i < 10; i++) {            int x1 = ran.nextInt(width);            int x2 = ran.nextInt(width);            int y1 = ran.nextInt(height);            int y2 = ran.nextInt(height);
            g.drawLine(x1,y1,x2,y2);
        } 
        //3.将图片响应给客户端
        ImageIO.write(image,"jpg",response.getOutputStream());
    } 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        this.doPost(request,response);
    }
}

感谢各位的阅读,以上就是“Javaweb的Response对象怎么使用”的内容了,经过本文的学习后,相信大家对Javaweb的Response对象怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Javaweb的Response对象怎么使用

本文链接: https://lsjlt.com/news/98858.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Javaweb的Response对象怎么使用
    这篇文章主要讲解了“Javaweb的Response对象怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Javaweb的Response对象怎么使用”...
    99+
    2024-04-02
  • response对象怎么使用
    在Python中,response对象是对HTTP响应的封装。你可以使用以下步骤来使用response对象:1. 导入需要的模块:`...
    99+
    2023-08-18
    response
  • ASP Response对象怎么使用
    ASP Response对象是用于向客户端发送输出的对象。它包含了一些方法和属性,可以用来设置HTTP头信息、设置cookies、重...
    99+
    2023-10-10
    ASP
  • JavaWeb中的Request和Response怎么使用
    这篇“JavaWeb中的Request和Response怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaWeb...
    99+
    2023-07-05
  • 怎么获取response对象
    在Python中,您可以使用requests库来发送HTTP请求并获取相应的response对象。首先,您需要安装requests库...
    99+
    2023-08-30
    response
  • JavaServlet中Response对象的使用方法
    目录Servlet Response响应体响应头响应状态示例代码总结Servlet Response ServletResponse 接口提供了一系列方法来设置和获取 HTTP 响应...
    99+
    2023-05-18
    Java Servlet Response Java Response接口
  • response对象的使用(实例讲解)
    使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与转发是不同的。在客户端浏览器上将会得到跳转地址,并重新发送请求链接。用户可以从浏览器的地址栏中看到...
    99+
    2023-05-31
    response 对象
  • python的scrapy requests与response对象怎么用
    这篇文章主要介绍了python的scrapy requests与response对象怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python的scrapy requests与resp...
    99+
    2023-06-30
  • 什么是response对象
    Response对象是在Web开发中经常使用的一个对象,它代表着服务器对客户端请求的响应。当客户端向服务器发送一个请求后,服务器会生...
    99+
    2023-08-29
    response
  • python scrapy框架中Request对象和Response对象怎么用
    本篇内容介绍了“python scrapy框架中Request对象和Response对象怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2023-06-29
  • Response对象的作用有哪些
    Response对象的作用主要有以下几个:1. 封装HTTP响应:Response对象负责封装HTTP响应的各种信息,包括状态码、头...
    99+
    2023-09-06
    Response
  • pythonscrapy框架中Request对象和Response对象的介绍
    目录一、Request对象二、发送POST请求三、Response对象一、Request对象 Request对象主要是用来请求数据,爬取一页的数据重新发送一个请求的时候调用,其源码类...
    99+
    2024-04-02
  • response对象的方法和属性有哪些
    response对象的方法和属性有以下几种:方法:- response.text:返回响应的内容,以字符串形式表示- respons...
    99+
    2023-09-16
    response
  • JavaWeb案例讲解Servlet常用对象
    概述 本次文章基于第三章的ServletConfig,ServletContext,HttpServletRequest,HttpServletResponse对象完成一个图书订阅系...
    99+
    2024-04-02
  • 怎么使用JavaScript的对象
    本篇内容介绍了“怎么使用JavaScript的对象”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Python面向对象的类和对象怎么使用
    这篇文章主要介绍“Python面向对象的类和对象怎么使用”,在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象的类和对象怎么使用...
    99+
    2023-06-22
  • localStorage对象怎么使用
    这篇文章主要讲解了“localStorage对象怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“localStorage对象怎么使用”吧! 如前所述...
    99+
    2024-04-02
  • 怎么使用Date对象
    本篇内容介绍了“怎么使用Date对象”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Date对象怎么用那?首...
    99+
    2024-04-02
  • ASP的request对象怎么使用
    ASP的request对象是用于从客户端接收HTTP请求的对象。使用request对象可以获取客户端发送的信息,如查询字符串参数、表...
    99+
    2023-09-28
    ASP
  • jsp的session对象怎么使用
    在JSP中,可以通过`request.getSession()`方法获取`HttpSession`对象,然后可以使用该对象来存储和获...
    99+
    2023-09-16
    jsp session
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作