JSP内置对象

Posted 一纸流年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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() 返回上下文路径;

  

   

 

 

    

以上是关于JSP内置对象的主要内容,如果未能解决你的问题,请参考以下文章

JSP内置对象

JSP内置对象

JSP内置对象

jsp都有哪些内置对象 作用分别是啥

JSP学习笔记-JSP内置对象

jsp都有哪些内置对象?作用分别是啥?分别有啥方法