session/application/bean的学习
2015-11-30 14:14
288 查看
学习Session 会话跟踪
session记录一系列状态,你在当前网页的页面做了哪些操作,记录下来,我在下一个页面也可以看到,例如你在当前页面
买了5件商品,记录在session后,我在下个页面也可以看到
1、在某段时间一连串客户端与服务器端的交易
2、在Jsp/servlet中,session有两种实现方式,第一种通过Cookie实现,即把session的ID号放在临时的Cookie中
第二种,如果浏览器不支持Cookie,可以通过URL重写来实现,就是将一些额外数据追加到表示会话的每个URL末尾,服务器在该标识符与其
存储的有关该会话的数据之间建立关联
session与Cookie的区别,Cookie记录在客户端,可以禁止服务器写入,客户端也可以自行修改;session记录在服务器端,在服务器的内存开辟一段空间,用来与某个浏览器关联
该session只与某个浏览器窗口有关联,其他的浏览器也想记录自己的状态的话,重新开辟一段空间来与之关联
规则:
1、如果浏览器支持Cookie,创建Session时候会把SessionID保存在Cookie里
2、如果不支持Cookie,必须自己编程使用URL重写的方式实现Session
使用函数response.encodeURL()作用: a、转码(解析URL中的中文) b、URL 后面加入SessionId
3、Session不像Cookie拥有路径访问的问题,同一个webapplication下的servlet/JSp可以共享一个Session,前提是同一个客户端窗口
学习Application
1、用于保存整个WebApplication的生命周期内都可以访问的数据
2、每个webApplication可能跑着一个或者多个servlet,每个webapplication的运行环境是一个context
3、在API中表现为ServletContext,通过HttpServlet的getServletContext方法可以拿到,通过ServletContext的get/setAttribute方法取得/设置相关属性
位于包中的servlet的部署:
1、位于com.bjsxt.servlet;中的HelloWorldServlet.java在部署的时候,需要把全部的路径都部署好,把.class类型的文件放到
D:\Program Files\DevelTools\apache-tomcat-8.0.9\webapps\test\WEB-INF\classes\com\bjsxt\servlet路径下,如果是没有放在包里的servlet只需要放在
D:\Program Files\DevelTools\apache-tomcat-8.0.9\webapps\test\WEB-INF\classes中即可
2、部署web.xml时:servlet-name,url-pattern和没有放在包里相同,但是servlet-class需要按照如下方式:<servlet-class>com.bjsxt.servlet.HelloWorldServlet</servlet-class>
在Servlet中使用Bean
1、在Servlet中使用Bean和在通常程序中使用Bean类似
属性名称的第一个字母必须小写、一般具有getters和setters
属性一般是private,因为java是封装隐藏的
2、但Bean不应具有GUI表现
session记录一系列状态,你在当前网页的页面做了哪些操作,记录下来,我在下一个页面也可以看到,例如你在当前页面
买了5件商品,记录在session后,我在下个页面也可以看到
1、在某段时间一连串客户端与服务器端的交易
2、在Jsp/servlet中,session有两种实现方式,第一种通过Cookie实现,即把session的ID号放在临时的Cookie中
第二种,如果浏览器不支持Cookie,可以通过URL重写来实现,就是将一些额外数据追加到表示会话的每个URL末尾,服务器在该标识符与其
存储的有关该会话的数据之间建立关联
session与Cookie的区别,Cookie记录在客户端,可以禁止服务器写入,客户端也可以自行修改;session记录在服务器端,在服务器的内存开辟一段空间,用来与某个浏览器关联
该session只与某个浏览器窗口有关联,其他的浏览器也想记录自己的状态的话,重新开辟一段空间来与之关联
规则:
1、如果浏览器支持Cookie,创建Session时候会把SessionID保存在Cookie里
2、如果不支持Cookie,必须自己编程使用URL重写的方式实现Session
使用函数response.encodeURL()作用: a、转码(解析URL中的中文) b、URL 后面加入SessionId
3、Session不像Cookie拥有路径访问的问题,同一个webapplication下的servlet/JSp可以共享一个Session,前提是同一个客户端窗口
学习Application
1、用于保存整个WebApplication的生命周期内都可以访问的数据
2、每个webApplication可能跑着一个或者多个servlet,每个webapplication的运行环境是一个context
3、在API中表现为ServletContext,通过HttpServlet的getServletContext方法可以拿到,通过ServletContext的get/setAttribute方法取得/设置相关属性
位于包中的servlet的部署:
1、位于com.bjsxt.servlet;中的HelloWorldServlet.java在部署的时候,需要把全部的路径都部署好,把.class类型的文件放到
D:\Program Files\DevelTools\apache-tomcat-8.0.9\webapps\test\WEB-INF\classes\com\bjsxt\servlet路径下,如果是没有放在包里的servlet只需要放在
D:\Program Files\DevelTools\apache-tomcat-8.0.9\webapps\test\WEB-INF\classes中即可
2、部署web.xml时:servlet-name,url-pattern和没有放在包里相同,但是servlet-class需要按照如下方式:<servlet-class>com.bjsxt.servlet.HelloWorldServlet</servlet-class>
在Servlet中使用Bean
1、在Servlet中使用Bean和在通常程序中使用Bean类似
属性名称的第一个字母必须小写、一般具有getters和setters
属性一般是private,因为java是封装隐藏的
2、但Bean不应具有GUI表现
相关文章推荐
- android学习笔记18 - activity反馈:startActivityForResult、setResut和onActivityResult
- android通知栏的变色
- 谈谈对ios之协议代理的理解
- AndroidStudio支持新的NDK的操作使用
- iOS判断国内固定电话区号
- iOS中使用RSA对数据进行加密解密
- 适用于iOS上的Android风格toast通知
- Android SDK在线更新镜像服务器
- Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
- 151130ios判断是直机还是模拟器
- Android屏幕密度(Density)和分辨率的解释
- Google Admob广告Android全攻略1
- Android应用如何支持屏幕多尺寸多分辨率问题
- AppDelegate中的方法说明
- iOS 开发产生随机数的几个公式
- Android图片处理
- Android四种启动模式
- Android 动画之ScaleAnimation应用详解
- 从Android运行时出发,打造我们的脱壳神器
- iOS 8创建交互式通知-备