zoukankan      html  css  js  c++  java
  • 学习进度02

     

    第二周

    所花时间(包括上课)

    8h

    代码量(行)

    200

    博客量(篇)

    2

    了解到的知识点

    1.Response对象学习

      作用:用来相应数据到浏览器的一个对象

      使用:

           设置响应头:

                             setHeader(String name,String value);//在响应头中添加响应信息,但是同键会覆盖

                             addHeader(String name,String value); //在响应头中添加响应信息,但是同键不会覆盖

           设置响应状态 :            

                             sendError(int num,String msg);//自定义响应格式

           设置响应实体 :    

                             Resp.getWrite().(String str);//响应具体的数据给浏览器

           设置响应编码格式:

                             Resp.setContentType(“text/heml;charset=utf-8”)

          

      总结:

           Service请求处理代码流程:

                设置响应编码格式

                获取请求数据

                处理请求数据

                响应处理结果

    2. 请求中文乱码解决:

       1.使用String进行数据重新编码,如:

    uname=new String(uname.getBytes(“iso8859-1),”utf-8”);

       2.使用公共配置

         get方式:

            步骤一:req,setCharacterEncoding(“utf-8”);

            步骤二:在tomcat的目录下的conf目录中修改server.xml文件,在Connector标签中添加属性useBodyEncodingForURL=”true”

        post方式:req,setCharacterEncoding(“utf-8”);

       Servlet流程总结:

         浏览器发起请求到服务器(请求)

         服务器接收浏览器的请求,进行解析,创建request对象存储请求数据

         服务器调用相应的servlet进行请求处理,并将request对象作为实参传递给servlet的方法

       Servlet的方法执行进行请求处理

         设置请求编码格式

         设置响应编码格式

         获取请求信息

         处理请求信息

             创建业务层对象

             调用业务层对象的方法

         响应处理结果

    数据流转流程

        浏览器--------->服务器--------->数据库

        浏览器<---------服务器<---------数据库

    3. 请求转发

           作用:实现多个servlet联动操作处理请求,这样避免代码冗余,让servlet的职责更加明确

           使用:req.getRequestDispatcher(“要转发的地址”).forward(req.resp);

                 地址:相对路径,直接书写servlet的别名即可

           特点:一次请求,浏览器地址信息不改变

           注意:请求转发后直接return结束即可

           request作用域:

                  解决了一次请求内的servlet的数据共享问题

       重定向:

           解决了表单重复提交的问题,以及当前servlet无法处理的请求的问题

           使用:

                resp.sendRedirect(String URI);

           示例:

                resp.sendRedirect(“/login/main”);

           特点:两次请求,两个requset对象

                 浏览器地址栏信息改变

           时机:如果请求中有表单数据,而数据又比较重要,不能重复提交,建议使用重定向

                  如果请求被servlet接收后,无法进行处理,建议使用重定向定位到可以处理的资源

    4. Cookie学习:

          作用:解决了发送的不同请求的数据共享问题

    使用:

          Cookie的创建和存储

    //创建Cookie对象

                 Cookie c=new Cookie(string name,string value);

              //设置cookie(可选)

                    //设置有效期

                      c.setMaxAge(int seconds);

                    //设置有效路径

                      c.setPath(String uri);

              //响应Cookie

                 Resp.addCookie(c);

           Cookie的获取

              //获取cookie信息数组

                Cookie [] cks=req.getCookie();

              //遍历cookie信息,使用for循环即可,示例:

                If(cks!=null){

                  For(Cookie c:cks){

                     String name=c.getName();

                     String value=c.getValue();

                     System.out.println(name+”:”+value);

                     }

                }

    注意:一个Cookie对象存储一条数据,存储多条数据则需创建多个Cookie对象进行存储

    特点:浏览器的数据存储技术

          存储的数据声明在服务器端

          临时存储:存储在浏览器的运行内存中,浏览器关闭即失效

          定时存储:设置了Cookie的有效期,存储在客户端的硬盘中,在有效期内符合路径要求的请求都会附带改信息

          默认cookie信息存储好之后,每次都会附带,除非设置有效路径

     

  • 相关阅读:
    Vue中发送HTTP请求
    Vuex
    vue-cli
    Vue基础2
    Vue基础1
    webpack_vue
    前言:数据库典型架构实践
    MySQL数据库优化
    解析 PHP 中 session 的实现原理以及大网站应用应该注意的问题
    Yii2.0 下的 load() 方法的使用
  • 原文地址:https://www.cnblogs.com/qianmo123/p/10543944.html
Copyright © 2011-2022 走看看