JSP内置对象

1、内置对象简介:

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

2、JSP九大内置对象:

  (1)out

  (2)request

  (3)response

  (4)session

  (5)application

  (6)Page / pageContext / exception / config

3、Web程序的请求响应模式:

  用户发送请求(request)

  服务器给用户响应(response)

4、什么是缓冲区(Buffer):

  缓冲区就是内存的一块区域用来保存临时数据。

5、out对象:

  out对象是JspWriter类的实例,是向客户端输出内容常用的对象。

  常用方法:

  (1)void println() 向客户端打印字符串;

  (2)void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常;

  (3)void clearBuffer() 清除缓冲区的内容,如果在flush之后调用不会抛出异常;

  (4)void flush() 将缓冲区内容输出到客户端;

  (5)int getBufferSize() 返回缓冲区字节数的大小,如不设缓冲区则为0;

  (6)int getRemaining() 返回缓冲区还剩余多少可用;

  (7)boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常;

  (8)void close() 关闭输出流;

注意:Q:为什Flush之后clear会异常?

   A:java在使用流时,都会有一个缓冲区,按一种它认为比较高效的方法来发数据:把要发的数据先放到缓冲区,缓冲区放满以后再一次性发过区,而不是分开一次一次地发。

  而flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满。

  所以如果在用流的时候,没有用flush()这个方法,很多情况下会出现流的另一边读不到数据的问题,特别是在数据特别小的情况下。

  所以flush()之后缓冲区内已经空了 clear就会抛出异常。

  out.println();//是向缓冲区中写入<br>

  当调用out.flush();时,刷新缓冲区,将缓冲区的内容输出,缓冲区清空<br>

  当调用out.clear();时,清空缓冲区,缓冲区中之前的内容不会输出到页面上<br>

  当缓冲区中的内容满了时,自动将缓冲区中的内容送到写的一方;

  当程序正常终止时,会自动刷新输出缓冲区,但比如文件的读写等,最好的做法是,close流之前,调用flush将缓冲区的数据刷新输出。

6、表单提交方式(get和post):

  (1)get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据最多不超过2KB。安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。

  (2)post:将用户提交的信息封装在HTML HEADER内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能。

7、request对象:

  客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。

  常用方法:

  (1)String getParameter(String name) 返回name指定参数的参数值;

  (2)String[ ] getParameterValues(String name) 返回包含参数name的所有值的数组;

  (3)void setAttribute(String,Object);存储此请求中的属性;

  (4)object getAttribute(String name);返回指定属性的属性值;

  (5)String getContentType(); 得到请求体的MIME类型;

  (6)String getProtocol(); 返回请求用的协议类型及版本号;

  (7)String getServerName(); 返回接受请求的服务器主机名;

     (8)int getServerPort() 返回服务器接受此请求所用的端口号;

  (9)String getCharacterEncoding() 返回字符编码方式;

  (10)void setCharacterEncoding() 设置请求的字符编码方式;

  (11)int getContentLength() 返回请求体的长度(以字节数)

  (12)String getRemoteAddr() 返回发送此请求的客户端IP地址;

  (13)String getRealPath(String path) 返回一虚拟路径的真实路径;

  (14)String request.getContextPath() 返回上下文路径;

  

   

    

猜你喜欢

转载自www.cnblogs.com/chengshun/p/8964272.html
今日推荐