zoukankan      html  css  js  c++  java
  • 重温servlet③

    请求转发 forward 仅有一个请求 至少两个servlet

    前一个的响应头保留着,但是响应体不保留了。

    设置响应体太大,会报错

     

    请求包含Include 都包含,响应头和响应体都会保留着

     

    Request域

    在两个servlet通过转发或者包含的时候设置其参数。

    SetAttribute

    GetAttribute

    RemoveAttribute

     

    请求转发与重定向的区别

    1. 请求转发是请求一次响应,而重定向是两次请求两次响应。
    2. 请求转发地址栏不变化,而请求重定向会显示后一个请求的地址。
    3. 请求转发只能发到本项目其他的servlet,而重定向不只能重定向到本项目的其他servlet中,还能定向到其他项目。
    4. 请求转发是服务器端行为,只需给出转发的servlet的路径,而重定向需要给出requestURI,即包含项目名。

     

    响应编码

    Iso-8859-1 拉丁文编码 不支持中文

    Gbk 中国国标 gb2312

    Utf-8万国码 ,支持全世界所有的字符都可以。

     

    乱码问题

    在Getwriter之前输入

    Response.setconType("text/html;charset=utf-8");

     

    页面请求编码 就是页面的编码

     

    适用post方法是需要在getparameter之前设置request.setchar

        public void doGet(HttpServletRequest request, HttpServletResponse response)

                throws ServletException, IOException {

            /**

             * 1.先获取传递过来的参数

             * 2.回退,适用utf-8重编

             */

            String name =request.getParameter("username");

            byte[]b=name.getBytes("iso-8859-1");

            name=new String (b,"utf-8");

            System.out.println(name);

        }

     

        public void doPost(HttpServletRequest request, HttpServletResponse response)

                throws ServletException, IOException {

            /**

             * 在获取参数之前需要先调用requestsetcharterEncoding("utf-8")

             */

            request.setCharacterEncoding("utf-8");

            String name=request.getParameter("username");

            System.out.println(name);

        }

     

    }

     

    url乱码

        @Test

        public void f1() throws UnsupportedEncodingException{

            String name="张三";

            byte[]b=name.getBytes("utf-8");

            System.out.println(Arrays.toString(b));

            

            String s=URLEncoder.encode(name,"utf-8");

            System.out.println(s);

            System.out.println(URLDecoder.decode(s, "utf-8"));

            

        }

     

     

  • 相关阅读:
    HDU4372 Count the Buildings
    Luogu4292 WC2010重建计划
    「学习笔记」二项式反演
    微软Power BI 每月功能更新系列——10月Power BI 新功能学习
    用Synoptic Panel自定义基于图形的可视化控件--制作一张剧场售票统计报表
    Power BI十大视觉效果,知多少?
    微软Power BI 每月功能更新系列——3月Power BI 新功能学习
    微软Power BI 每月功能更新系列——4月Power BI 新功能学习
    如何使用DAX函数解决动态图表标题
    如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例
  • 原文地址:https://www.cnblogs.com/chengzhipcx/p/4989394.html
Copyright © 2011-2022 走看看