JSP数据交互

application对象

application对象类似于系统的“全局变量”,用于同一个服务器内的所有用户之间的数据共享,对于整个Web服务器,application对象有且只有一个实例。

(1)什么是Application对象
服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都时同一个,直到服务器关闭。但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
(2)Application对象的常用方法
● setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定一个索引关键字。
● getAttribute(String key):获取Application对象中含有关键字的对象。

5、Out对象

Out对象时一个输出流,用来向客户端输出数据。Out对象用于各种数据的输出。其常用方法如下。
● out.print():输出各种类型数据。
● out.newLine():输出一个换行符。
● out.close():关闭流。

课外:

out
out.print();//输出数据
out.newLine();//输出一个换行符
out.flush();//输出缓冲区里的数据
out.close();//关闭输出流
out.clearBuffer();//清除缓冲区里的数据,并把数据输出到客户端
out.clear();//清除缓冲区里的数据,但不会把数据输出到客户端
out.getBufferSize();//获得缓冲区大小
out.getRemaining();//获得缓冲区中没有被占用的空间大小
out.isAutoFlush();//返回布尔值。如果AutoFlush为真 则返回真。

request
isUserInRole(String role) 判断认证后的用户是否属于逻辑的role中的成员
getAttribute(String name) 返回由name指定的属性值。若不存在则为空
getAttributes()返回request对象的所有属性的名字集合,其结果是一个枚举的实例。
getCookies() 返回客户端的所有Cookie对象,结果是一个Cookie数组。
getCharacterEncoding() 返回请求中的字符编码方式。
getContentLength() 返回请求的Body的长度,如果不确定长度,返回-1
getHeader(String name) 获得HTTP协议定义的文件头信息
getHeaders(String name)  返回指定名字的request Header的所有值,其结果是一个枚举的实例
getHeaderNames()返回所有request Header的名字 ,其结果是一个枚举实例。
getInputStream() 返回请求的输入流,用于获得请求中的数据
getMethod() 获得客户端向服务器端传送数据的方法,如GET,POST,HEADER,TRACE等。
getParameter(String name)获得客户端传送给服务器端的参数值。
getParameterNames() 获得客户端传送给服务器端的所有参数名字,其结果是一个枚举的实例
getParameterValues(String name) 获得指定参数的所有值。
getProtocol() 获取客户端向服务器端传送数据所依据的协议名称
getQueryString()  获得查询字符串,该字符串是由客户端以GET方式向服务器端传送的
getRequestURI() 获取发出请求字符串的客户端地址
getRemoteAddr() 获取客户端IP地址
getRemoteHost() 获取客户端名字 
getSession([Boolean create]) 返回和请求相关的session。create参数是可选的。当有参数create且这个参数值为true时,如果客户端还没有创建session,那么将创建一个新的session。
getServerName() 获取服务器的名字
getServletPath()  获取客户端所请求的脚本文件的文件路径
getServerPort() 获取服务器的端口号
removeAttribute(String name) 删除请求中的一个属性
setAttribute(String name, java.lang.Object obj) 设置request的参数值

response
addCookie(Cookie cook) 添加一个Cookie对象,用来保存客户端的用户信息
addHeader(String name,String value) 添加HTTP文件头信息。该Header信息将传达到客户端,如果已经存在同名的则会覆盖
containsHeader(String name) 判断指定字句的Header是否已经存在,返回真假
encodeURL() 使用sessionId封装URL。如果没有封装URL则返回原值
flushBuffer() 强制把当前缓冲区的内容发送到客户端
getBufferSize() 返回缓冲区的大小
getOutputStream() 返回到客户端的输出流
sendError(int)  向客户端发送错误信息。如404 指网页不存在 
sendRedirect(String location) 把响应发送到另一个位置 进行处理
setContent(String contentType) 设置响应的MIME类型
setHeader(String name,String value) 设置指定名字的HTTP文件头的值,若存在则会覆盖。

session
getAttribute()获取与指定名字相联系的属性
getAttributeNames()session对象中存储的每一个对象,其结果为一个枚举的实例
getCreateTime()  返回session的创建时间,最小单位这千分之一秒
getId()  返回唯一的标识,每个session的ID是不同的
getLastAccessedTime()返回和当前session对象相关的客户端最后发送的请求时间
getMaxInactiveInterval()  返回决时间,负值表示session永远不会过期。它的值为session的生存时间
invalidate() 销毁这个对象,
isNew() 如果客户端不接受使用session,那么每个请求中都会产生一个session对象。
removeAttribute(String name) 删除与指定名字相联系的属性
setAttribute(String name,java.langObject obj) 设置指定名字的属性值 并将 其存储在session中。

pageContext
forward(String UriPath) 重定向
getAttribute(String name,[int scope] )  scope可选。用来检索一个特定的已经 命名的对象的范围,并且还可以通过调用 getAttributeNamesInScope()方法 ,检索对鞭个特定范围的每个属性String字符串名称的枚举。
getException()返回当前的exception对象
getRequest()返回当前的request对象
getResponse()返回当前的response对象
getServletConfig()返回当前页面的ServletConfig对象
getServletContext()返回ServletContext对象。这个对象对所有页面都是共享的
getSession() 返回当前的session对象
findAttribute() 可以用来按照页面,请求,会话以及应用程序范围顺序实现对某个已经命名的属性的搜索。
setAttribute() 可以用来设置默认页面范围或特定范围之中的已命名对象。removeAttribute()可以用来删除默认范围或特定范围内的已命名对象

application
getAttribute(String name)返回指定名字的application对象的属性的值
getAttributeNames() 返回所有应用程序级对象的属性的名字 ,其结果为枚举的实例
getInitParameter(String name) 返回由指定名字的application对象的某个属性的初始值
getServletInfo() 返回Servlet编译器的当前版本的信息
setAttribute(String name,Object obj) 设置 指定名字的application对象的属性的值

config
getServletContext() 返回执行者的Servlet上下文
getServletName()返回Servlet的名字
getInitParameter(String name) 返回名字为name的初始参数的值
getInitParameterNames() 返回这个JSP的所有的初始参数的名字

page作用域

page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问,

在page作用域内可以使用pageContext对象的setAttribute()和getAttribute()方法来访问具有这种范围类型

的对象。page作用域内的对象在客户端每次请求JSP页面时创建,在服务器发送相应或请求转发到其他页面或资源后失效。


jsp 的四个作用域 :page、request、session和application的区别 .

1.简单说 page指当前页面。在一个jsp页面里有效 
2.request 指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。 
3.Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程。 
4.application它的有效范围是整个应用。 
作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用

 cookie由服务器端产生,发送给客户端。

表现:

1.对特定对象的追踪,如访问次数,最后访问时间,路径等。

2.统计网页浏览次数

3.在cookie有效期内,记录用户登陆信息。

4.实现各种个性化服务,如针对不同用户喜好以不同的风格展示不同的内容

创建cookie对象:

Cookie newCookie=nwe Cookie(String name,String value);

name:用于代表cookie的名称

value:用于表示当前key名称所对应的值

什么是Cookie

Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理

Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。


cookie与session的对比

1.session实在服务器端保存用户信息,cookie是客户端保存用户信息

2..session中保存的值是Obiect类型,cookie保存的值是String值

3..session随会话的结束而将其储存的数据销毁,cookie可以长期保存在客户端

4.cookie通常用于保存不重要的用户信息,重要的信息使用.session保存


JDBC链接数据库

步骤:

1.加载JDBC驱动

2.与数据库建立连接

3.发送SQL语句,并得到返回结果

4.处理返回结果

5.数据库访问结束后,进行资源释放


JavaBean

java中开发的可以跨平台的重要组件

JavaBean在服务器端的应用表现出了强大的生命力,在JSP程序中常用于封装业务逻辑,数据库操作等

JavaBean实际上是一个java类,这个类可以重用

JavaBean要求:

1.JavaBean是一个公有类,并提供无参的公有的构造方法

2.属性私有

3.具有公有的访问属性的getter和setter方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值