JSP内置对象简介

1.内置对象简介

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

有九大内置对象,分别是out,request,response,session,application,其它对象(page,pageContext,exception,config)

Web程序的请求响应模式,用户发送请求(request),服务器给用户响应(response)

2.四种作用域范围

3.out对象

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

常用方法如下:

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

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

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

void flush 将缓冲区内容输出客户端

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

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

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

void close() 关闭输出流

4.request/response

get与post区别

<form name="regForm" action="动作" method="提交方式"></form>

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

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

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

request对象

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

response对象

response对象包含了响应客户请求的相关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。常用方法如下:

String getCharacterEncoding()返回响应用的是何种字符编码

void setContentType(String type) 设置响应的MIME类型

PrintWriter getWriter() 返回可以向客户端输出字符的一个对象(注意比较:PrintWriter与内置out对象的区别)

sendRedirect(java.lang.String location)重新定向客户端请求

请求转发与请求重定向

请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变 。

请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。

注:重定向是response对象的方法而请求转发是request对象的方法。

 5.session

什么是session?

1.session表示客户端与服务器的一次会话。

2.Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。

3.从上述定义中可以看到,session实际上是一个特定的时间概念。在服务器的内存中保存着不同用户的session。

特点:

1.session对象是一个JSP内置对象

2.session对象在第一个JSP页面被装载时自动创建,完成会话期管理。

3.从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。

4.当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某个办法知道这是一个客户,就fd

 

需要session对象。

5.session对象是HttpSession类的实例。

常用的方法如下:

long getCreatingTime():返回SESSION创建时间

public String getId():返回SESSION创建时JSP引擎为它设的唯一ID号

public Object setAttribute(String name,Object value):使用指定名称将对象绑定到此会话

public Object getAttribute(String name):返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null

String[] getValueNames():返回一个包含此SESSION种所有可用属性的数组

int getMaxInactiveInterval():返回两次请求间隔多长时间此SESSION被取消(单位秒)

session的生命周期

1.创建:当客户端第一次访问某个jsp或者Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验。

2.活动:

某次会话当中通过超链接打开的新页面属于同一次会话。

只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一个项目资源时属于同一次会话。

除非本次会话的所有页面都后再重新访问某个Jsp或者Servlet将会创建新的会话。

注意:注意原有会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验。

3.销毁:有三种方式

1.调用session.invalidate()方法

2.Session过期(超时)

3.服务器重新启动

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值