会话应用跟踪1
关闭 口袋小管家:想永久保存这文章吗, 创建一个口袋 随时 …

分类:网络 | 2009-05-14 22:57:10远程会话与远程桌面同步关闭问题来源:中国自学编程网发布日期:2008-06-03在日常操作中,网管员往往哪个需要通过远程桌面在主机中进行下载、文件安装、程序运行等等操作,这时,即使管理员推出远程桌面我们也希望这些操作照常进行,不要中断,不过在实际情况中却有很多情况不是这样,只要管理员退出这些操作就会同步中断,给网管员的操作带来了很大的不便。
从理论上来说,在对服务器主机进行远程控制时,网络管理员只要不对服务器系统执行系统注销操作或重新启动操作,只是简单地单击远程桌面连接窗口右上角处的关闭按钮时,那些通过远程控制方式启动运行的应用程序还应该继续以后台方式运行,并不会跟随远程桌面连接窗口的关闭而同步关闭。
但为什么会出现同步关不的问题呢,经过笔者的观察,这主要是设置的问题,只要我们进行了正确的设置,就完全可以避免此种情况的发生。
现在,本文就将该故障的详细排除过程贡献出来:首先看看在远程登录服务器系统时使用的帐号设置是否正确,如果登录帐号的权限不够或者属性参数设置不当的话,那么就容易出现远程会话同步关闭的现象。
假设网络管理员以系统管理员帐号“administrator”来远程登录服务器系统的,在检查“administrator”帐号的设置正确性时,我们可以在服务器系统中用鼠标右键单击桌面上的“我的电脑”图标,从弹出的右键菜单中执行“管理”命令,打开服务器系统的计算机管理界面。
在该界面的左侧显示区域,用鼠标依次展开“系统工具”/“本地用户和用户组”/“用户”分支选项,在对应“用户”分支选项的右侧显示区域中,选中目标登录帐号“administrator”,并用鼠标右键单击该帐号,再执行右键菜单中的“属性”命令,打开对应帐号的属性设置界面;单击该设置界面中的“会话”选项卡,在对应的选项设置界面中我们会看到“空闲会话限制”、“活动会话限制”、“结束已断开的会话”、“当达到会话极限或连接中断时如何操作的设置”等几个参数(如图1所示)。
DCS系统简介1

DCS系统简介目前,DCS系统在化工行业中得到广泛应用,为使广大论友对系统进行了解,以MACS 系统为例作简要介绍。
一、DCS含义DCS是Distributed Control System的英文缩写,简称分布式控制系统或集散型控制系统。
DCS系统是七十年代中期发展起来的,是集微型计算机检测技术、图形处理技术、数据处理技术和计算机网络技术为一体的新型现代化设备,是实现对过程分散控制、集中操作和管理的自动化装置。
二、系统组成DCS系统由网络、工程师站、操作员站、高级计算机、打印服务站、管理网关、系统服务器、现场控制站、控制通讯站所组成。
1、网络以MACS系统为例:系统网络由上至下分为三个层次:监控网络、系统网络和控制网络。
①监控网络(M—NET)由10M/100M高速冗余以太网构成,用于系统服务器与现场控制站、通信控制站等的连接。
完成现场控制站、通讯控制站的数据下装,服务器与现场控制站、通讯控制站之间的实时数据通讯。
②系统网络(S—NET)由10M ARCNET网构成,用于连接现场控制站和服务器之间的通信。
③控制网络(C—NET)由PROFIBUS-DP构成,可兼容CAN、FF、MODBUS等多种现场总线网络,用来与现场控制站主控单元和过程I/O(信号输入输出模板)单元的通信,完成实时输入、输出数据传送服务的专用网络系统。
2、工程师站它是由工业PC机和各种组态软件工具组成,主要用以完成以下功能:组态:完成数据库、图形、控制算法、报表的组态;参数配置:简化历史库、事故追忆、变量组定义等;设备组态:实现应用系统的操作员站、服务器、现场控制站及过程I/O模块的配置等;数据下装和增量下装:将组态后的数据下装到服务器、操作员站,在线运行时,还可通过增量下装的形式修改数据库和控制算法。
应用软件:MACS专用组态软件,可选装MACS专用操作员软件。
3、操作员站操作员站是操作人员使用的设备,操作员站的监控软件是最重要的人机交互界面,能使操作人员通过薄膜键盘、轨迹球灵活方便地监控过程。
1-3年开发工作经验面试题

1-3年开发工作经验面试题1.如下代码claA{A(){}}claBe某tendA{}哪两个说明是正确的?A.B类的构造器应该是public.B.B类的构造器应该是没有参数C.B类的构造器应该调用thi().D.B类的构造器应该调用uper().答案:BD 解析:默认构造器的修饰符只跟当前类的修饰符有关。
比如B如果是public的,则默认构造方法是public的。
如果B是默认的访问权限,则构造方法相同。
当B是内部类是,前面也可以有protected,private等,默认添加的构造方法仍然和类的修饰符一致。
2.如下代码publicclaTet{publicintaMethod(){taticinti=0;i++;returni;}publictaticvoidmain(Stringarg[]){Tettet=newTet();tet.aMethod ();intj=tet.aMethod();Sytem.out.println(j);}}输出结果是什么?A.0B.1C.2D.编译失败答案:D解析:tatic在Java语言中的使用有四种:(成员变量、成员方法、代码块、内部类)3.如下代码:booleanbool=true;if(bool=fale){Sytem.out.println(\}eleif(bool){Sytem.out.println(\}eleif(!bool){Sytem.out.println(\}ele{Sytem.out.println(\}输出结果是什么A.aB.bC.cD.dE.编译失败答案:C4Java不支持下面哪种继承?()A、多实现继承B、多接口继承C、单实现继承D、单接口继承5.如下代码:publicclaSwitchTet{publictaticvoidmain(String[]arg){Sytem.out.println(\}publictaticintwitchIt(int某){intj=1;witch(某){cae1:j++;cae2:j++;cae3:j++;cae4:j++;cae5:j+ +;default:j++;}returnj+某;}}输出结果是什么A.value=3B.value=4C.value=5D.value=6E.value=7F.value=8答案:F6.以下哪四个能使用throw抛出A.ErrorB.EventC.ObjectD.ThrowableE.E某ception7.下面哪三个描述是正确的?A.默认构造器初始化方法变量B.默认构造器有和它所在类相同的访问修饰词.C.默认构造器调用其父类的无参构造器.D.如果一个类没有无参构造器,编译器会为它创建一个默认构造器.E.只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器答案:B,C,E8关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是()。
设计师助理岗位职责(通用27篇)

设计师助理岗位职责(通用27篇)设计师助理岗位职责 1岗位职责:1、根据客户需求地进行创意设计。
2、独立绘制工装施工图,并对项目后期施工予以技术支持;3、独立能够现场监控监管项目的工作进度和质量;4、能够适应出差。
任职资格:1、全日制院校室内设计专业及相关专业毕业;2、3年以上设计公司设计工作经验;3、具有良好的职业素质、团队管理经验及沟通协调能力;4、精通工装(办公室)室内设计,理念先进,技能全面。
设计师助理岗位职责 21、能有效协助设计师完成绘图、制图、简单设计。
2、进行设计工作的内部协调、良好的沟通配合。
3、协助设计师完成其他日常工作,及时完成项目文档资料的.归档。
4、橱柜生产工艺及生产流程的掌握;5、遵守公司纪律,服从上级工作安排,上门设计守时,礼貌待客;6、完成上级领导交代的其它工作。
7、良好的沟通能力,性格外向,态度积极向上;8、熟练使用AutoCAD、Photo Shop、Project等软件设计师助理岗位职责 3岗位职责:1.纱线、款式企划,款式绘图;2.跟踪样板,以及样板的`修改和确定,审核样板资料;3.辅料配料的确定,定样的沟通,确认主产纱的颜色;4.色码的确认工作以及拍照及其他针织设计工作。
任职要求:1.服装(针织)设计专科及以上学历。
从事服装设计工作1年以上工作经验;2.可直接与工厂交流工艺,略懂生产流程,最好有在专业针织供应商从业经验,了解纱线及生产成本,熟练工艺细节;3.熟练操作设计绘图软件;4.敬业敬岗,工作调理性强,严谨细致,执行力强;5.对时尚产业非常敏感。
设计师助理岗位职责 41、遵守公司及部门各项规章制度,服从部门领导;2、负责CAD制图、打印、装裱;3、配合设计师制做工程预算;4、配合设计师与相关部门的`衔接;5、整理设计师收集到的资料,并将资料归纳分类;6、协助设计师完成设计任务,确保设计质量;7、协助设计师完成专业设计阶段性汇报工作,保证设计项目按计划完成任务;8、协助设计师完成相关资料,并保证互提资料的正确、完整、及时;9、协助设计师参与项目的方案设计;10、参加公司或相关部门举办的各类培训及活动;11、配合设计师暗示完成工作。
一种基于邻域与位置时间感知的会话推荐方法

第 22卷第 11期2023年 11月Vol.22 No.11Nov.2023软件导刊Software Guide一种基于邻域与位置时间感知的会话推荐方法谭小辉,祁正华,张海桃,何菲菲(南京邮电大学计算机学院、软件学院、网络空间安全学院,江苏南京 210023)摘要:针对现有基于邻域的会话推荐方法忽略了整个会话的一般偏好、当前偏好以及匿名用户误点行为等问题,提出一种基于邻域与位置时间感知的会话推荐方法。
该推荐方法考虑了3个因素,分别是项目在当前会话中的持续时间及位置、会话之间的时间相关性和邻居会话中候选项目的持续时间及位置。
在和Adressa两个公共新闻数据集上将该推荐方法与基准方法进行对比实验,结果表明,与表现最好的基准方法相比,该推荐方法在HR@20和NDCG@20指标上均有所提升。
特别是在数据集上,HR@20和NDCG@20指标分别提升了4.3%与7.0%,表明该方法能有效提升推荐效果。
关键词:会话推荐;位置感知推荐;时间相关性;误点行为DOI:10.11907/rjdk.222448开放科学(资源服务)标识码(OSID):中图分类号:TP311 文献标识码:A文章编号:1672-7800(2023)011-0091-07A Session Recommendation Method Based on Neighborhood and PositionTime AwarenessTAN Xiaohui, QI Zhenghua, ZHANG Haitao, HE Feifei(School of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing 210023, China)Abstract:Aiming at the problem that the existing neighborhood-based session recommendation methods ignore the general preference, cur‑rent preference, and anonymous user misclick behavior of the whole session. A session recommendation method based on neighborhood and po‑sition time awareness is proposed. The proposed recommendation method considers three factors, namely the duration and location of items in the current session, temporal correlation between sessions, and the lasting time and position of candidate items in neighboring sessions. Exper‑imenting with the recommendation method with the benchmark method on two public news datasets, and Adressa, the experimental results show that the recommendation method improves on both HR@20 and NDCG@20 metrics compared to the best-performing benchmark method. Especially on the dataset,theHR@***************************************%and7.0%, respectively, indicat‑ing that the proposed method can effectively improve the recommendation effect.Key Words:session recommendation; position-aware recommendations; time correlation; misclick behavior0 引言如今,推荐系统已广泛应用于每一个数字平台,这些平台试图根据用户需求调整服务,以提高用户满意度[1]。
Paloalto下一代防火墙运维手册V1.1

Paloalto下⼀代防⽕墙运维⼿册V1.1 Paloalto防⽕墙运维⼿册⽬录1.下⼀代防⽕墙产品简介 (2)2.查看会话 (4)2.1. 查看会话汇总 (4)2.2. 查看session ID (5)2.3. 条件选择查看会话 (5)2.4. 查看当前并发会话数 (5)2.5. 会话过多处理⽅法 (6)3.清除会话 (7)4.抓包和过滤 (7)5.CPU和存查看 (9)5.1. 管理平台CPU和存查看 (9)5.2. 数据平台CPU和存查看 (11)5.3. 全局利⽤率查看 (12)6.Debug和Less调试 (12)6.1. 管理平台Debug/Less (12)6.2. 数据平台Debug/Less (13)6.3. 其他Debug/Less (14)7.硬件异常查看及处理 (15)7.1. 电源状态查看 (15)7.2. 风扇状态查看 (16)7.3. 设备温度查看 (16)8.⽇志查看 (17)8.1. 告警⽇志查看 (17)8.2. 配置⽇志查看 (18)8.3. 其他⽇志查看 (18)9.双机热备异常处理 (19)10.⽹⽤户丢包排除⽅法 (20)10.1. 联通测试 (21)10.2. 会话查询 (21)10.3. 接⼝丢包查询 (21)10.4. 抓包分析 (22)11.VPN故障处理 (22)12.版本升级 (23)12.1. Software升级 (23)12.2. Dynamic升级 (24)13.恢复配置和⼝令 (25)13.1. 配置恢复 (25)13.2. ⼝令恢复 (25)14.其他运维命令 (25)14.1. 规划化配置命令 (25)14.2. 系统重启命令 (26)14.3. 查看应⽤状态命令 (26)14.4. 系统空间查看命令 (27)14.5. 系统进程查看命令 (27)14.6. 系统基本信息查看命令 (28)14.7. ARP查看命令 (29)14.8. 路由查看命令 (29)14.9. 安全策略查看命令 (30)14.10. NAT策略查看命令 (30)14.11. 系统服务查看命令 (31)14.12. NAT命中查看命令 (31)14.13. UserIP-Mapping查看命令 (31)15.其他故障处理 (31)9.1. 硬件故障 (31)9.2. 软件故障 (32)9.3. 接⼝状态查看 (32)9.4. 软件故障 (32)1.下⼀代防⽕墙产品简介Paloalto下⼀代防⽕墙(NGFW) 是应⽤层安全平台。
JSP应用与开发技术第12、13、14章 课后习题答案
第12章Servlet基础1.简述Servlet和JSP的关系。
答:Servlet是服务器端运行的一种Java应用程序。
当浏览器端有请求则将其结果传递给浏览器。
在JSP中使用到的所有对象都将被转换为Servlet或者非Servlet的Java对象,然后被执行,所以执行JSP实际上与执行Servlet是一样的。
2.简述Servlet的生命周期。
答:Servlet的生命周期可分为下面几个阶段:(1)装载Servlet。
(2)实例化一个Servlet实例对象。
(3)调用Servlet的init( )方法进行初始化。
(4)服务。
(5)卸载。
3.简述HttpSession接口的功能和使用方法。
答:.HttpSession接口是Servlet提供会话追踪解决方案。
HttpSession对象存放在服务器端,只是对cookie和url重写技术的封装应用。
使用HttpSession进行会话控制的过程:(1)获得一个HttpSession实例对象;(2)访问和设置与会话相关联信息,维护会话的状态;(3)废弃会话数据。
4.简述开发一个Servlet所需要的步骤。
答:第一步:编写Servlet实例第二步:在web.xml文件中配置该Servlet第三步:编写其它文件5.编写一个html页面和一个Servelt,实现利用Servelt的doPost方法读取html文件中Form表单内容。
答:参考12.6.26.写一个利用HttpSession接口的用户登录的Servlet,当用户已经登录时,返回欢迎信息;否则转向登录页面。
答:第一步:编写Servlet实例SessionServlet.java所示。
package com;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;/**** 使用HttpSession管理会话的登录Servlet*/public class LoginServlet extends HttpServlet {p rotected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { doPost(request, response);}p rotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=GB2312");PrintWriter out = response.getWriter();out.println("<html>");out.println("<body>");out.println("<head>");out.println("<title>使用HttpSession管理会话的登录页面</title>");out.println("</head>");out.println("<body>");// 获取会话对象HttpSession session = request.getSession();// 从会话对象中读取数据Boolean isLogin = (Boolean) session.getAttribute("isLogin");if (isLogin == null) {isLogin = Boolean.FALSE;}String user = request.getParameter("user");String password = request.getParameter("pass");if (isLogin.booleanValue()) {// 从会话对象中读取数据user = (String) session.getAttribute("user");Date loginTime = new Date(session.getCreationTime());out.println("<h2>欢迎您," + user + "!</h2>");out.println("<h2>您的登录时间是:" + loginTime + "!</h2>");} else if ((user != null) && (password != null)) {// 在会话对象中保存数据session.setAttribute("user", user);session.setAttribute("isLogin", Boolean.TRUE);Date loginTime = new Date(session.getCreationTime());out.println("<h2>欢迎您," + user + "!</h2>");out.println("<h2>您的登录时间是:" + loginTime + "!</h2>");} else {out.println("<h2>请在下面输入登录信息</h2>");out.println("<form method=\"post\" action=\"login\">");out.println("<table>");out.println("<tr>");out.println("<td>用户名:</td>");out.println("<td><input name=\"user\" type=\"text\"></td>");out.println("</tr>");out.println("<tr>");out.println("<td>密码:</td>");out.println("<td><input name=\"pass\" type=\"password\"></td>");out.println("</tr>");out.println("<tr>");out.println("<td></td>");out.println("<td><input name=\"ok\" type=\"submit\" value=\"确定\">");out.println("<input name=\"cancel\" type=\"reset\" value=\"重置\"></td>");out.println("</tr>");out.println("</table>");out.println("</form>");}out.println("</body>");out.println("</html>");}}第二步:在web.xml文件中配置该Servlet<web-app>……<!-- ServerInfoServlet definition --><servlet><description></description><display-name>getSession</display-name><servlet-name> getSession </servlet-name><servlet-class>com.SessionServlet</servlet-class></servlet><!-- SessionServlet definition --><servlet-mapping><servlet-name>getSession</servlet-name><url-pattern>/getSession</url-pattern></servlet-mapping>……</web-app>第13章使用Servlet过滤器和监听器1、什么是过滤器?什么是监听器?分别应用在哪些方面?答:对Web应用来说,过滤器就是驻留在服务器端,在源数据和目的数据间,对Web请求和Web响应的头属性(Header)和内容体(Body)进行操作的一种特殊Web组件。
网络攻击检测和防御(一)
(地址扫描) IP Scan
用来确定目标网络中存在哪些IP地址标识的设备。 1:使用ping探测目标地址,有回应表示IP地址存在。 2:使用pingWar自动大规模进行扫描。 3:使用tcpPing利用TCP报文对某个IP地址发起TCP 连接,判断是否有应答报文来进行扫描。 也可以使用udp报文进行IP地址扫描。
网络攻击和安全的层次性
对网络不同层次的攻击对应不同层次的安全。可见网络安全是 一个系统工程,网络安全是整体的安全。木桶容量由最短的木 板决定。
攻击物理层
攻击链路层 攻击网络层 攻击传输层 攻击表示层 攻击应用层 攻击操作系统 攻击数据库 社会工程攻击
电气安全/电磁安全/防卫安全/ 远程灾难备份 连接安全/介质安全 协议安全/设备安全 认证和授权/访问控制安全 编码安全 应用安全/数据安全 操作系统安全 数据库安全 管理安全
(协议栈攻击)Ping of Death
早期对cisco路由器非常著名的攻击。 攻击原理:IP首部的长度字段共16bit,表明一个IP包最大为 65535字节。所以早期的路由器对数据包的大小就要做了如 此的限制。当接收到IP包时,先读取IP头,取得总长度,生 成缓冲区,最大为65535字节。 实际上,对于ICMP ECHO Request报文,如果数据长度大于 65508,就会使ICMP数据+IP头长度(20)+ICMP头长度(8) > 65535。这样,收到一个这样的包后,就会出现内存分配 错误,造成TCP/IP栈崩溃。
IP扫描工具
(端口扫描) Port Scan
使用portScan工具,向某个IP地址的主机的 一系列TCP/UDP端口发起连接,根据应答 报文判断主机是否使用这些端口提供服务。 操作系统的缺省配置的开放端口。
fix1金融交易协议总结
金融信息交换协议(FIX)1 协议简介1.1 FIX地位及作用金融信息传输业有多种标准同时并存,为避免混乱及重复使用,FIX协议是一个免费的开放式通信标准,于1992年由富达投资和所罗门兄弟为推动股票交易双边通信框架而开发。
自诞生以来,FIX协议顺应行业不断变化的需求和其他资产类别的要求而取得了长足发展,其使用亦日益普遍。
1.2 FIX国内外使用情况FPL Member Firms,表态支持并加入FIX的组织,主要有以下几个方面的组织:●Buy-side institutions:美国世纪投资公司、高桥资本等26个单位;●Sell-side broker/dealers:摩根、国信证券等55个单位;●ECNs/Exchanges:上交所、纳斯达克、香港交易所等37个单位;●Associations:ISO等14个单位;●Vendors:IBM、FIX Solutions等140多个单位。
2008年《中国FIX电子交易会议》记载,已经有超过10000家机构正在使用FIX协议,其中包括:几乎所有主要证券交易所和投资银行,全球最大的共同基金和货币经理,数千家小型投资公司,领先的期货交易所提供FIX连接,主要的债券交易商已经实施或正在实施FIX连接。
1.3 FIX版本Fix协议现有的版本应用4.X-5.0sp2。
国外投行主要应用4.5-5.0,国内投行处于试用尝试阶段,各种版本均有,但4.2居多。
5.0版本与4.X版本的不同:TI(the transport independence )特性,即传输无关框架。
TI将FIX会话层从应用层协议中分离出来。
在TI框架下,应用层协议消息可以通过任意合适的传输技术进行传送,在这里,FIX会话层协议是FIX应用层消息的可选传输传输协议之一。
1.4 FIX协议特点及其优势FIX协议由于其开放的体系,具有如下四个主要特点:●使用简单,各类应用系统可以依据FIX协议规则,编写自身的应用程序,应用于任何希望自动连接的交易双方,能支持各种商务功能。
第1章习题参考答案
第一章习题参考答案1.选择题(1)数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是(A)。
A.DBS包括DB和DBMS B.DBMS包括DB和DBSC.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS (2)设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是(B)。
A.m:n B.1:m C.m:k D.1:1(3)对于“关系”的描述,正确的是( D)。
A.同一个关系中允许有完全相同的元组B.同一个关系中元组必须按关键字升序存放C.在一个关系中必须将关键字作为该关系的第一个属性D.同一个关系中不能出现相同的属性名(4)E-R图用于描述数据库的(A)。
A.概念模型B.数据模型C.存储模型D.逻辑模型(5)在关系模型中,一个关键字(C)。
A.可以由多个任意属性组成B.至多由一个属性组成C.可以由一个或者多个其值能够唯一表示该关系模式中任何元组的属性组成D.可以由一个或者多个任意属性组成(6)现有如下关系:患者(患者编号,患者姓名,性别,出生日期,单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外关键字是(A)。
A.患者编号B.患者姓名C.患者编号和患者姓名D.医生编号和患者编号(7)一个关系只有一个(D)。
A.候选关键字B.外部关键字C.组合关键字D.主关键字(8)下列标识符可以作为局部变量使用的是(C)。
A.[@Myvar] B.My var C.@Myvar D.@My var (9)Transact-SQL支持的一种程序结构语句是(A)。
A.BEGIN…E ND B.IF…T HEN…ELSEC.DO CASE D.DO WHILE(10)字符串常量使用(A)作为定界符。
A.单引号B.双引号C.方括号D.花括号2.填空题(1)数据库是在计算机系统中按照一定的方式组织、存储和应用的(数据集合)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
会话跟踪与应用
【实验题目】
JSP内置对象
【实验目的】
1、了解JSP中4个内置对象request、reponse、session、pagecontext的基本
概念。
2、理解session与pageContext常用方法的功能。
3、掌握session的应用。
【实验内容】
1、session对象:session对象指的是客户端与服务器的一次会话,从客户连到
服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
2、pageContext对象:
pageContext对象提供了对JSP页面内所有的对象及名字空间的
访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application
的某一属性值,他相当于页面中所有功能的集大成者。
3、 练习(自己完成)
【实验代码】
实验1 session对象使用
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
session的创建时
间:<%=session.getCreationTime()%> <%=new
Date(session.getCreationTime())%>
session的Id号:<%=session.getId()%>
客户端最近一次请求时
间:<%=session.getLastAccessedTime()%> <%=new
java.sql.Time(session.getLastAccessedTime())%>
两次请求间隔多长时间此SESSION被取消
(ms):<%=session.getMaxInactiveInterval()%>
是否是新创建的一个SESSION:<%=session.isNew()?"是" : "否"%>
<%
session.setAttribute("name", "火星人");
session.setAttribute("nmber", "1234567");
%>
<%
String str;
//Enumeration为枚举类
Enumeration
while(enum1.hasMoreElements()){
str=enum1.nextElement().toString();
out.println(str+":"+session.getAttribute(str)+"
");
}
%>
实验2pageContext对象使用
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%
request.setAttribute("name", "软件001");
session.setAttribute("name", "软件002");
application.setAttribute("name", "编程001");
%>
request设定的值:
<%=pageContext.getRequest().getAttribute("name")%>
session设定的值:
<%=pageContext.getSession().getAttribute("name")%>
application设定的值:
<%=pageContext.getServletContext().getAttribute("name")%>
范围1内的值:<%=pageContext.getAttribute("name", 1)%>
范围2内的值:<%=pageContext.getAttribute("name", 2)%>
范围3内的值:<%=pageContext.getAttribute("name", 3)%>
范围4内的值:<%=pageContext.getAttribute("name", 4)%>
<%
pageContext.removeAttribute("name", 3);
%>
pageContext修改后的session设定的值:
<%=session.getAttribute("name")%>
<%
pageContext.setAttribute("name", "应用技术培训", 4);
%>
pageContext修改后的application设定的值:
<%=pageContext.getServletContext().getAttribute("name")%>
值的查找:<%=pageContext.findAttribute("name")%>
属性name的范围:<%=pageContext.getAttributesScope("name")%>