精华内容
下载资源
问答
  • response对象--设置响应信息

    千次阅读 2019-05-16 21:51:07
    response对象--设置响应信息 【1】设置响应行 格式:HTTP/1.1 200 ok 设置状态码:setStatus(int 状态码) 【2】设置响应头 setHeader(String name ,String value) 【3】设置响应体 注意字符集的编码格式 ...

     

    response对象--设置响应信息

     

    【1】设置响应行

    1. 格式:HTTP/1.1 200 ok
    2. 设置状态码:setStatus(int 状态码)

    【2】设置响应头

    setHeader(String name ,String value)

    【3】设置响应体

    注意字符集的编码格式

    1. 获取输出流

    字符输出流:PrintWriter  getWriter()

    字节输出流ServletOutputStream  getOutputStream()

    1. 使用输出流,将数据输出到客户端浏览器

    重定向跳转

    法一

    //【1】设置状态码  302重新定位状态码

    response.setStatus(302);

    //【2】设置响应头Location

    response.setHeader("Location", "jsp/SelectAll.jsp");

    法二

    //从法一可以发现,方法里的参数值只有url是能改变的,其他的都是固定的。

    //简单的重定向

     response.sendRedirect("jsp/SelectAll.jsp");

    redirect重定向与forward转发的区别

    Redirect重定向的特点

    【1】重定向地址栏路径变化

    【2】重定向可以访问其他站点(服务器)的资源

    【3】重定向是两次请求,不能使用request对象来共享数据

    forward转发的特点

    【1】转发地址栏路径不变

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

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

    路径写法

    【1】相对路径:通过相对路径不可以确定唯一资源

    1. 不以/开头,以点开头 如:./index.html(./可以省略)
    1. 确定相对路径规则:找到当前资源和目标资源之间的相对位置关系

    ./ :当前目录    ../:后退一级目录

    当前资源:http://localhost/servlet/LoginServlet

    目标资源:http://localhost/servlet/UserServlet

    当前资源和目标资源都在同一父目录下--目标资源绝对路径:UserServlet

    -------------------------------------------------------------

    当前资源:http://localhost/servlet/servletimpl/LoginServlet

    目标资源:http://localhost/servlet/UserServlet

    当前资源在比目标资源多一级目录下--目标资源绝对路径:../UserServlet

    【2】绝对路径:通过绝对路径可以确定唯一资源

    如:http://localhost/servlet/LoginServlet

    以/开头的路径---简化的绝对路径:/servlet/LoginServlet

    确定绝对路径规则:判断定义的路径是给谁用的?判断请求将来是从哪发出

    1)给客户端浏览器使用:需要加虚拟目录(项目的访问路径)-- /servlet/LoginServlet

    建议动态获取虚拟目录:request.getContextPath()

    用于<a>,<form> ,重定向....

    2)给服务器使用:不需要加虚拟目录 --- LoginServlet

    用于转发路径

    注意可以通过动态获取虚拟目录,避免虚拟目录写死后,遇到修改虚拟目录名称,导致程序报错

    //动态获取虚拟路径(项目名称)--->/JDBCTest

    String contextPath=request.getContextPath();       response.sendRedirect(contextPath+"/UserServlet");

     

    展开全文
  • 服务器输出字符数据到浏览器 步骤 获取字符输出流 输出数据 注意点:中文乱码问题(原因) 从response获取的字节输出流默认编码为ISO-8859-1 ... // 获取流对象之前,设置流的默认编码:ISO-8859-1 设...

    服务器输出字符数据到浏览器

    • 步骤
      • 获取字符输出流
      • 输出数据
    • 注意点:中文乱码问题(原因)
      • 从response获取的字节输出流默认编码为ISO-8859-1
      • 不同版本的浏览器默认解码也都不相同
    • 解决步骤
      • 设置response的字节输出流的编码
      • 在响应头中告诉浏览器响应体使用的编码
    
            // 获取流对象之前,设置流的默认编码:ISO-8859-1 设置为GBK
            response.setCharacterEncoding("GBK");
            // 告诉浏览器,服务器发送的消息体数据的编码。建议浏览器使用该编码解码
            response.setHeader("content-type","text/html;charset=utf-8");
       

    简化后的步骤:

    • 同时实现了设置输出流编码和浏览器解码(注意:此代码应放在获取输出流之前
    response.setContentType("text/html;charset=UTF-8");

     

    展开全文
  • 设置编码格式

    2018-08-31 09:33:46
    1.控制层利用注解设置编码格式: @RequestMapping(value="/aaa/bbb" ,produce="...charset=utf-8")-----一般在返回字符串...2.设置响应编码: response.setContentType("text/html;charset=...

    1.控制层利用注解设置编码格式:

    @RequestMapping(value="/aaa/bbb" ,produce="text/html;charset=utf-8")-----一般在返回字符串时使用;

    返回对象时用UTF-8编码,返回字符串时用ISO-8859-1格式(手动转码)

    2.设置响应编码:

    response.setContentType("text/html;charset=utf-8");

    3.全局字符集设置:(tomcat中设置)

     在tomcat_home\conf\server.xml 中的Connector元素中设置URIEncoding属性为合适的字符编码     

                 使用这种方式带来的问题是在你本机上这么做没有问题,你无论怎么去修改你tomcat上的配置都没问题,

                 但是测试环境和生产环境的服务器不是轻易说改就能改的,特别是有些公司的服务器是租赁的,那么在我们

                 不知道测试环境和生产环境服务器配置的时候就要使用以下的方法来解决get请求的中文乱码问题。

    4.post请求乱码设置:

    request.setCharacterEncoding("UTF-8");

    展开全文
  • setCharacterEncoding("utf-8") //设置响应编码字符集 setContentType("text/html;charset=utf-8") //设置响应内容的类型、编码字符集。比如内容可以设置为 image/jpeg 等类型。有时候setCharacterEn...

     

    HttpServletResponse对象(response)的常用方法

    • setCharacterEncoding("utf-8")    //设置响应的编码字符集
    • setContentType("text/html;charset=utf-8")    //设置响应内容的类型、编码字符集。比如内容可以设置为 image/jpeg 等类型。有时候setCharacterEncoding()解决不了的乱码,这句代码可以解决。比setCharacterEncoding()更加强大,推荐。
    • setHeader("Content-Type", "text/html;charset=utf-8")     //这样设置也行

     

    • getWriter()    //获取字符输出流,PrintWriter,不能输出二进制内容。适合输出文本响应,比如html文档。
    • getOutputStream()   //获取字节输出流,ServletOutputStream,既可以输出文本,又可以输出二进制数据。

     

    • setHeader("refresh","3")    //定时刷新所请求的页面(当前页面)

    • setHeader("refresh","3;url=http://www.baidu.com")   //定时跳转。3s后自动跳转到百度。秒数、url之间分号分隔,缺省url时默认为当前页面,即定时刷新当前页面。

     

    • sendRedirct("/servlet2")    //重定向。通知浏览器请求指定utl,浏览器会自动向该url发送请求。浏览器总的发送2次HTTP请求。

     

     

     

    HttpServletRequest对象(request)的常用方法

    • String getRemoteAddr()   //获取客户端的ip地址
    • String  getLocalAddr()    //获取服务器的IP地址
    • String  getServerName()   //获取服务器的域名地址

     

    • String  getMethod()    //获取请求方式,比如get、post
    • String  getQueryString()   //获取请求字符串,即地址栏中?后面的全部内容(包括&,不包括?)。此方法只能获取get方式传递的参数,不能用于post。
    • String  getHeader(String name)   //获取请求头中指定字段的值

     

    • setCharactorEncoding("utf-8");   //设置请求参数的编码字符集

     

     

      //获取请求参数(地址栏中?后面的部分、表单数据)

    • String  getParameter(String name)    //获取指定参数的值(表单)。如果没有该参数,返回null;如果有该参数,但该参数没有值,返回空串;如果有多个该参数,则只返回第一个的值
    • String[]  getParameter(String name)   //如果有多个该参数,以字符串数组的形式返回。常用于获取复选框的值。
    • Enumeration  getParameterNames()    //返回一个包含所有参数名的Enumeration对象
    • Map  getParameterMap()   //返回一个包含所有参数名、值的Map对象

     

     

            //RequestDispatcher     dispatcher意为调度、分配、调度员

    •  RequestDispatcher  rd = request.getRequestDispathcer(String path)   //获取RequestDispatcher对象
    • rd.forward(request, response)   //请求转发。当前Servlet不处理请求,由另一个url处理请求、并返回响应。服务器内部行为,客户端总的只发送1次HTTP请求。
    • rd.include(request, response)   //请求包含,将另一个url处理的结果包含进来(替换掉此句代码),与当前Servlet的处理结果一同组成响应返回给客户端。

     

     

      //当使用RequestDispatcher进行请求转发、包含时,可以使用attribute传递一些其他数据

    • request.setAttribute(String name, Object value)    //设置、修改
    • Object  request.getAttribute(String name)  //取出
    • Enumeration  getAttributeNames()   //获取一个含有所有name的Enumeration对象,用于遍历attribute
    • request.removeAttribute(String name)   //删除、移出

     attribute是在请求中附加一些额外的数据,attribute传递的并不是表单数据(parameter)。

     attribute、parameter是2套单独的方法。

     

     

     

    防盗链

     1 //获取referer头部字段的值
     2         String referer = request.getHeader("referer");
     3         //获取请求的网站地址
     4         String sitePart="http://"+request.getServerName();
     5         
     6         //不是盗链
     7         if(referer!=null && referer.startsWith(sitePart)){
     8             //转到请求页面
     9             RequestDispatcher requestDispatcher = request.getRequestDispatcher("/download.html");
    10             requestDispatcher.forward(request,response);
    11         }
    12         else{
    13             //......盗链
    14         }

     

     referer头字段指的是HTTP请求的来源。不是客户端的地址。

    比如某网站  http://www.example.com/   上有一个页面   http://www.example.com/index.html,这个页面上有一个<a>链接:http://www.example.com/articles/1.html,

    某人点击了这个<a>链接,他的浏览器会发起一次HTTP请求,这次请求的referer头字段是http://www.example.com/index.html。被点击的这个<a>链接来自该页面,referer头字段就是来源页面的url。

     

    可以使用referer头字段检测访客的来源(访客是从通过哪个页面|网站来的)。

     

    访客要访问本网站上的资源(观看视频、下载资源等),他的浏览器发起了一个HTTP请求,如果访客点击的是本站页面上提供的资源链接,访客来源本站,通过;

    如果访客点击的不是本站页面上提供的链接(点击的是其它网站页面上提供的链接),那就是盗链。

     

    转载于:https://www.cnblogs.com/chy18883701161/p/11401181.html

    展开全文
  • 请求和响应

    2017-05-06 09:51:21
    在HttpServletResponse接口中,有setCharacterEncoding("UTF-8")方法来设置字符编码 (2)浏览器的解码方式是GB2312,而我们使用的编码是“UTF-8”,因此乱码。 setHeader("Content-type","text/html;char
  • JSP 内置对象Response

    2016-11-08 00:31:07
    response是HttpServletResponse类的实例。 response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问... //设置响应字符编码格式 String getCharacterEncoding(); //获取响应字符编码
  • ——我们要输出东西,也就是设置响应的response,在下面我们利用字符输出流来向浏览器输出东西。这里利用了response的getWriter方法,这个getWriter的返回值是一个PrintWriter对象。 public void doGet...
  • 设置输出内容和编码格式在获取PrintWriter打印流之后,导致响应到浏览器出现乱码,应该是获取到的打印流是设置字符集之前的,所以设置字符集就无效。 修改之前 //创建ObjectMapper对象 ObjectMapper objectMapper...
  • ——我们要输出东西,也就是设置响应的response,在下面我们利用字符输出流来向浏览器输出东西。这里利用了response的getWriter方法,这个getWriter的返回值是一个PrintWriter对象。 public void doGet...
  • response的编码

    2017-06-09 16:42:00
    上面代码因为没有设置repsonse.getWriter()字符流的编码,所以服务器使用默认的编码(ISO-8859-1)来处理,因为ISO-8859-1不支持中文,所以一定会出现乱码的。 所以在使用response.getWriter()发送数据之...
  • asp.net 六大内置对象

    2020-12-22 17:32:21
    1.Response对象  Response对象是HttpResponse类的一个对象,与一个HTTP响应相对应,通过该对象的属性和方法可以控制如何将服务器...  ContentEncoding:获取或设置内容的编码格式。  ContentType:获取或设置输出流
  • 其实就是服务器对浏览器的响应对象。 画张图解释一下运行过程 我们可以干什么呢? 我们可以通过servlet代码来修改response对象的响应行,响应头,响应体。从而使网页可以重定向等操作! 以下是方法的使用,都在...
  • HttpServletRequest和HttpServletResponseHttpServletRequest字符编码设置请求转发base标签web中"/ "斜杠的不同意义HttpServletResponse响应乱码解决请求重定向 HttpServletRequest 作用:每次只要有请求进入...
  • JSP交互---response对象

    2017-10-13 18:44:46
    1 . response.addCookie( Cookie cookie );—–> 服务器向客户端... —–> 设置响应内容的类型 并且指定字符集(即设置响应的内容为UTF-8编码--以防响应到的页面的内容出现乱码) 引申: 一般在Servlet中,习惯性的会首先
  • jsp九大内置对象

    2011-10-21 23:25:22
     字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后再将这个数组转化为字符对象  即可。如下:  String textContent=request.getParameter("boy")  byte b[]=textContent.getBytes("ISO-...
  • jsp内置对象的用法

    2012-03-07 09:48:34
    1 String getCharacterEncoding() 返回响应用的是何种字符编码 2 ServletOutputStream getOutputStream() 返回响应的一个二进制输出流 3 PrintWriter getWriter() 返回可以向客户端输出字符的一个对象 4 void...
  •  1.contentType :确定出jsp页面响应额MIME类型和jsp页面字符编码  例:  2. language:java  ex:  3.import:java环境中引入包中的类    4.session:用于设置是否需要使用内置对象,默认为true  5...
  • 文章目录1. 指令2. 注释3. 内置对象 1. 指令 ... 设置响应体的mime类型以及字符集 2. 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前
  • Day11 Java学习日记

    2019-11-14 15:35:30
    Day11 2019.11.13 Servlet的生命周期 客户端与服务器运行 Servlet解决乱码(三句话) request.setCharacterEncoding("utf-8");...//设置响应对象字符编码 response.setContentType("text/ht...
  • 指令 作用:用于配置JSP页面,导入资源文件 格式: <%@ 指令名称 属性名1=属性值1 属性名2...设置响应体的mime类型以及字符设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pa...
  • JSP: 指令 作用:用于配置JSP页面,导入...设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集) import:导包 errorPage:当前页面发生异常后
  • #order1=input("hello:")#设置python端手动输入,输入的值的数据类型为str order1='openthelight' ser.write(order1.encode("utf-8")) #将数据编码为utf-8格式 time.sleep(3) #str =(ser.readline())....
  • 1.JSP的指令: 1.作用:用于配置JSP页面,导入资源文件 2.格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值... 设置响应体的mime类型以及字符集  设置当前JSP页面的编码(只能是高级的开发工具才能生效)  ...
  • 近日做一个小项目,用spring mvc 做到ajax请求获取jquery ztree 异步获取树返回json对象时出现了乱码,试了各种办法,查了各种资料,一开始以为是数据库的编码有问题,经测试没问题,又以为是jetty需要设置响应头...
  • 3.2.5 URI的编码与反编码 69 3.2.6 eval() 69 3.2.7 一点惊喜—alert()函数 70 3.3 变量的作用域 71 3.4 函数也是数据 73 3.4.1 匿名函数 75 3.4.2 回调函数 75 3.4.3 回调示例 77 3.4.4 即时函数 79 3.4.5 内部...
  • 说明:设置显示行的宽度,默认是80个字符 用法:set linesize 120 10. 显示页数 (pagesize) 说明:设置每页显示的行数,默认是14页 用法:set pagesize 20 三、 用户管理 1. 创建用户 说明:Oracle中需要创建用户...
  • 一:response对象的功能分为四种设置响应设置响应正文 设置状态码 重定向 1.1:设置响应头: setHeader(), 设置响应头最终会发送到客户端(浏览器) 例子1: //设置content-type响应头,告诉浏览器我响应的内容...
  • 01 requests基本使用

    2019-06-26 20:55:00
    import requests #导入requests请求库 #往百度主页发送请求,获取响应对象 ... #设置字符编码为 utf-8 response.encoding = 'utf-8' #打印响应文本 print(response.text) #把响应文...
  • day03 python基础

    2019-09-24 20:52:55
    # 今日内容 爬虫基础import requests # 导入requests请求库 # 往百度主页发送请求,获取响应对象 ...# 设置字符编码为 utf-8 response.encoding = 'utf-8' # 打印响应文本 print(res...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 178
精华内容 71
关键字:

响应对象设置字符编码