zoukankan      html  css  js  c++  java
  • JAVA Web知识点整理(二)

    请求转发和重定向的区别

    (1)请求次数不同   【本质区别】

       请求转发过程中只有一次请求,数据不丢失,可以自动传递到下一页面

       重定向过程中有两次请求,而且这两次请求之间毫无任何关联,因此数据无法传递到下一页面,除非使用URL重写的方式附加参数,传递中文数据时,还必须手工调用URLEncoder.encode()方法进行url编码


    (2)跳转的位置不同

       请求转发在服务器内部完成,客户端根本不知道,所以浏览器地址栏内容不变,只能在当前项目范围内跳转

       重定向相当于在客户端重新发送了新的请求,所以浏览器地址栏内容改变,跳转的位置不限


    (3)根目录"/"的意义不同   

       请求转发的根目录"/"表示Web项目的根目录下
       request.getRequestDispatcher("/index.jsp").forward(request, response) //跳转到http://localhost/Web项目名/index.jsp

       重定向的根目录"/"表示跳转到服务器的根目录下
       response.sendRedirect("/index.jsp")                   //跳转到http://localhost/index.jsp

    四种属性范围

    四种属性范围从小到达依次为:pageContext < request < session < application,方法(setAttribute,getAttribute,removeAttribute)

    (1)pageContext---当前页面存数据,只能在当前页面取出数据  了解

    (2)request---当前页面存数据,能在当前页面,以及所转发的页面取出数据  
     
    (3)session---当前页面存数据,能在和当前用户相关的全部页面取出数据    

    (4)application---当前页面存数据,能在所有用户的全部页面取出数据

    使用规则

    (1)请求转发---保存在request属性范围中   查询操作

    (2)重定向---保存在session属性范围中

    getParameter()方法和getAttribute()方法的区别

    (1)getParameter()方法返回String类型,其作用是获取客户端提交到服务器的数据
       getAttribute()方法返回Object类型,其作用是获取保存在request属性范围中的数据,只在服务器端内部执行,和客户端无关,常用于请求转发中

    (2)getParameter()方法没有对应的setParameter()方法
       getAttribute()方法有对应的setAttribute()方法

    (3)getParameter()方法获取从表单或超链接提交的输入数据
       getAttribute()方法和setAttribute()方法可以获取/设置那些从数据库中查询出来的数据

    对象的序列化

    (1)对象的序列化是指将对象的状态转换成字节序列,以便于存储和网络传输
       对象的反序列化是指字节序列恢复成原始对象的过程

    (2)使用ObjectOutputStream实现序列化,使用ObjectInputStream实现反序列化

    (3)Serializable接口是一个标识接口,表示自定义类能够进行序列化操作

     

  • 相关阅读:
    用Maven插件生成Mybatis代码
    年薪50万的大数据分析师养成记
    利用 index、explain和profile优化mysql数据库查询小结
    perl MQSeries::Queue sync方法
    新零售不简单,当初马云自己都没解释清楚!
    新零售不简单,当初马云自己都没解释清楚!
    elasticsearch 默认不支持检索hadoop
    以不能久驻世上的心态处理日常事务——北漂18年(89)
    数据化管理在餐饮业中的应用
    解决Linux出现"Device eth0 does not seem to be present"问题
  • 原文地址:https://www.cnblogs.com/sheng-se/p/14376224.html
Copyright © 2011-2022 走看看