华南理工大学无线电爱好者协会软件小组技术干货

JSP 内置对象(上)

2016-09-07  本文已影响84人  廖少少

本文包括:

  1. out(常用)

  2. request(重点)

  3. response(重点)

  4. get与post(难点)

  5. 请求重定向与请求转发(难点)

JSP内置对象简介

  1. JSP内置对象是Web容器创建的一组对象,【不使用new关键字】就可以使用的内置对象。

    • 例如:

  2. JSP九大内置对象:

    • out、request、response、session、application(五大常用对象)

    • Page、pageContext、exception、config(四个不太常用对象)

1、out(常用)

1.1、什么是缓冲区?

1.2、out对象

  1. out对象是JspWriter类的实例,是向客户端(这里指浏览器)输出内容的常用对象。

  2. 常用方法:

2、request(重点)

2.1、request对象

2.2、示例:String[] getParameterValues(String name)

2.3、示例:setAttribute()\getAttribute()

2.4、示例:其他参数

2.5、解决url传中文参数出现乱码问题:

3、response(重点)

3.1、response对象

4、get与post(难点)

表单有两种提交方式:get与post。

区别:

  1. post隐式提交,get显示提交

  2. post安全,get不安全

  3. get提交数据的长度有限(255字符之内),post无限

什么情况下是GET提交,什么情况下又是POST提交呢?

  1. GET提交:
    1)、默认的表单提交方法

    2)、以“<A(括回)”链接的方法提交数据

    3)、直接在地址栏的URL中追加数据

    4)、js中使用location.href='xxxxx';

  2. POST提交:

    1)、显示指定表单的method为POST,绝大多数的表单都采用POST提交,只有向Baidu、Google这样的搜索引擎才采用GET方法提交

编码格式转换

5、请求重定向与请求转发(难点)

  1. 请求重定向:

     response.sendRedirect("xx.jsp");//重定向
    

    【客户端行为】:即客户端会访问两次,第一次访问后会立即跳转到第二个重定向页面上,【从本质上讲等于两次请求】,而前一次的请求封装的request对象不会保存,地址栏的URL地址会改变

  2. 请求转发:

     request.getRequestDispatcher("xx.jsp").forward(request,response);//请求转发
    

    forward(request,response)用于保存内置对象request和response。
    【服务器行为】:服务器会代替客户端去访问转发页面,【从本质是一次请求】,转发后请求对象会保存,地址栏的URL地址不会改变

  3. 区别

    • 请求重定向从本质上讲等于两次请求,而请求转发从本质上将等于一次请求。

    • 转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递。

    • 转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址,即地址栏URL不变。

    • 重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址,即地址栏URL会变。

  4. 形象解释:

本文参考:http://www.imooc.com/learn/166

上一篇 下一篇

猜你喜欢

热点阅读