javaweb学习心得

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

javaweb学习心得

javaweb学习笔记___d9

2014-12-14 22:51

session (会话)

session对象

1、存在于服务器端

2、依赖于线程

3、session的生命周期,跟一次浏览器窗口有关,只要窗口不关闭,session 便存在,所以称会话。

session

1、技术内核使用cookie:

session参在与服务器端

服务器端为多个session创建不同的session id

把session id以cookie的形式送入到客户端

request.getsession()内涵是:在cookie中查找

session id,若cookie中存在sessionid,则根据

sessionid,将sessionid对应的session找到,

并返回;若cookie中并不存在sessionid,

服务器端创建session,并将sessionid写入到cookie中。

2、当关掉对话窗口(结束一次会话)时,session并没有被删除,只是关掉对话窗口时,cookie被清空

无法再获得sessionid,无法找到对应的session,但是session还是存在于服务器端。

若想真正删除session,需要调用httpsession中的invalidate()方法,使得session失效。

3、服务器为了考虑效率,不会让无用的session存在很久,http协议是

无连接协议,服务器端无法判断客户端是否关闭“会话”,

所以服务器设置了失效时间。若用户在了段时间内,不操作session,则

系统删除session。

我们可以设置此时间setmaxinactiveinterval(),但不推荐用户自行设置。

4、session技术在很大程度上,依赖于cookie,若cookie被禁用,或浏览器不支持cookie,则session就无法使用。

5、为了解决第四点所引申的session不可用的问题。我们使用url重写,

将sessionid通过地址栏提交参数,发给服务器端。

使用response.encodeurl()在地址栏中加载sessionid通过

request.getparameter(jsessionid)得到sessionid

a、string url encodeurl(string url);通过超链接,重新发出请求,此请求会在地址之后自动加上sessionid及其id值,

此方法又被子称为url重写,或重新封装。

b、string url encoderedirecturl(string url);将地址封装成

sendredirect方法所需要的地址,并在此地址后加入sessionid

servlet api小结:

httpservletrequest:接口

1、setattribute()、getattribute()、getattributenames

getparameter()//只能获得表单中的内容

2、getcharacterencoding()、setcharacterencoding()

获得、设置request中的数据编码方式

3、getcontenttype()得到mime,即ie文件打开的方式

4、cookie getcookies()

得到当前所有的cookie

5、getsession()

获得或创建session

6、getrequestdispatcher(string path)将目标页面封装,为了forward()进行页面转向。

7、getrequestedsessionid()得到一个session的id

总结:

request对象封装了客户端的请求和相关信息。

包括:

1、cookie

2、封装http协议的报头(请求方式、请求服务器的端口、请求服务器ip 地址、编码方式、

请求的项目用的名字、请求消息的长度、浏览器的信息、客户端信息??)

3、表单数据

httpservletresponse:接口(响应)

用它跟客户端联系,并且向客户端发送数据

1、getcharacterencoding()得到向客户端发送数据的默认编码方式。

2、getcontenttype()得到向客户端发送数据的默认类型(html或者jpeg

等等)。

3、getoutputstream()得到与客户端建立的输出字节流,传输二进制。

4、getwriter()得到与客户建立的输出字符流,传输文本文件。

5、setcharacterencoding()设置的是要发送给客户端的数据的编码方式。

6、setcontenttype(string type)设置并告知客户端,执行这些二进制时,用何种类型打开(html、jpeg等等)。

7、addcookie(cookie cookie)将cookie的键和键值成对的送到客户端

8、一些的set方法用来指定客户端运行时的一些属性。例:缓存、打开方式、消息头的控制等等

9、encodeurl(string url)、encoderedirecturl(string url)**在地址后追加session的id,用来实现cookie被禁用后,session依然可以使用。

10、sendredirect(string location)页面的重定向

cookie:类

1、cookie(string name,string value)创建cookie并将键,键值,存入到cookie中

2、getmaxage(int)设置cookie的生命服周期,当参数是负数时:窗口(会话)被关掉时,清空cookie

3、getname()获得cookie中的键

4、getvalue()获得cookie中的健值

httpsession:接口

1、getattribute(string name)、setattribute(string name)

2、getid()获得session的唯一标识id

3、getmaxinactiveinterval()、setmaxinactiveinterval()得到和设置session的失效时间

4、invalidate()使得session失效

5、isnew()布尔类型,判断session是否是新创建的

httpservlet:类

1、doget(httpservletrequest req,httpservletresponse resp)

当用户以get方式发出请求时,servlet调用此方法

2、dopost(httpservletrequest req,httpservletresponse resp)当用户以post方式发出请求时,servlet调用此方法

3、public void init()throws servletexception

用户第一次请求servlet的时候,容器需建立servlet对象,同时调用

init()方法

相关文档
最新文档