一、cookie机制和session机制的区别 ************************************************************************************* 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session 机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 ************************************************************************************* 二、会话cookie和持久cookie的区别 三、如何利用实现自动登录 四、如何根据用户的爱好定制站点 五、cookie的发送 六、cookie的读取 七、如何使用cookie检测初访者 八、使用cookie检测初访者的常见错误 九、使用cookie属性的注意问题 十、如何使用cookie记录各个用户的访问计数 十一、session在不同环境下的不同含义 十二、session的机制 十三、保存session id的几种方式 十四、session什么时候被创建 十五、session何时被删除 再次注意关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 十六、URL重写有什么缺点 十七、使用隐藏的表单域有什么缺点 十八、会话跟踪的基本步骤 十九、getSession()/getSession(true)、getSession(false)的区别 二十、如何将信息于会话关联起来 二十一、会话属性的类型有什么限制吗 二十二、如何废弃会话数据 二十三、使用isNew来判断用户是否为新旧用户的错误做法 二十四、Cookie的过期和Session的超时有什么区别 二十五、session cookie和session对象的生命周期是一样的吗 二十六、是否只要关闭浏览器,session就消失了
二十八、如何使用会话显示每个客户的访问次数 二十九、如何使用会话累计用户的数据 HttpSession session = request.getSession(); 三十、不可更改对象和可更改对象在会话数据更新时的不同处理 |
一、JavaBean的优点: ************************************************************************************* A.不需要用到Java语法 B.对象的共享更简单 C.请求参数与对象属性之间可以方便地对应起来 ************************************************************************************* 二、JavaBean的特点: 三、JavaBean的构建: 四、bean类的安装: 五、jsp:useBean中beanName、type选项的使用: 六、jsp:useBean的语法规则: 七、JavaBean属性的设置: 八、将单个属性与输入参数关联: B.如果请求中没有指定的参数,则不采用任何动作(系统并不传递null到相关联的属性),例如: C.如果请求参数的名称和bean属性的名称相同,还可以更进一步地简化这段代码。这种情况下可以省略param 九、将所有的属性与请求参数关联: B.系统从请求参数开始查找匹配的bean属性,而非采用相反的方式。因此,对于没有请求参数与之匹配的属性,则不采用任何动作。这种行为意味着:表单bean不必一次填充完毕,相反,一次提交可以填写bean的部分属性,另一个表单填写其他属性。以此类推。但要使用这项功能,需要将bean在多个页面中共享。 十、使用属性与请求参数自动关系方式的注意点: B.自动类型转换不能像手动类型转换那样那个防止不合法的值:在使用自动类型转换时,应该考虑使错误处理页面或显示使用try/catch块来处理异常数据 C.bean属性的名称和请求参数大小写敏感:属性名和请求参数的名字必须精确匹配 十一、共享bean 十二、bean的scpoe = “page”: B.将此对象存储在此表示,servlet可以通过调用预定义变量pageContext的getAttribute方法访问它.由于每个页面和每个请求都有不同的PageContext对象, C.所有scope = “page”表示不共享bean,也就是针对每个请求都创建新的bean 十三、bean的scope = “request”: B.在使用jsp:include、jsp:forward、RequestDispatcher的include或forward方法时,两个JSP页面,或JSP页面和servlet将会共享请求对象。而scope = “page”的bean则无法共享请求对象 十四、bean的scope = “session”: B.bean存储在HttpSession对象中,若该会话不失效(如超时)则bean的属性可跨请求持续 十五、bean的scope = “application”: B.ServletContext由Web应用中多个servlet和JSP页面共享。ServletContext中的值可以用getAttribute方法获得。 十六、根据条件构建bean: B.jsp:useBean的起始标签和结束标签之间的语句只在创建新的bean时执行,如果使用已有的bean,则不执行。由于jsp:useBean调用默认(零参数)构造函数,因此,我们经常需要在bean创建之后修改它的属性。为了模拟构造函数,应该在bean首次创建时执行这些修改,而不应该在访问现存(或更新后)的bean时执行。 C.多个页面都可以在jsp:useBean的起始标签和结束标签之间包含jsp:setProperty语句;只有被第一个访问的页面才会执行这些语句。 |
一、数据源简介: ************************************************************************************ 在Java语言中,DataSource对象就是一个代表数据源实体的对象。一个数据源就是一个用来存储数据的工具,它可以是复杂的大型企业级数据库,也可以是简单得只有行和列的文件。数据源可以位于在服务器端,也可以位于客服端。 应用程序通过一个连接来访问数据源,那么一个DataSource对象就是用于提供连接数据源的工具。DataSource接口提供了两个方法用于建立和数据源的连接 其次,使用实现了DataSource接口的类所具有的第二个优势体现在连接池和分布式事务上。连接池通过对连接的复用而不是新建一个物理连接来显著地提高程序的效率。从而适用于任务繁忙、负担繁重的企业级分布式事务。 二、JNDI简介: 可以简单地把JNDI理解为一种将对象和名字绑定的技术,对象工厂负责生产出对象,这些对象都和惟一的名字绑定。外部程序可以通过名字来获取对某个对象的引用。 在Intranets(企业内部网)和Internates(互联网)中目录服务(Directory service)扮演了一个非常重要的角色,它能够在众多的用户、机器、网络、服务、应用程序中访问各种各样的信息。目录服务提供了一系列的命名措施,用人类可以理解的命名方式来刻画各种各样的实体之间的关系 一个企业式计算环境(computing environment)通常是由若干代表不同部分的命名复合而成。比如在一个企业级环境中DNS(Domain Name System)通常被当成顶层的命名方案(top-level namein facility)区分不同的部门或组织。而这些部门或组织自己又可以使用诸如LADP或NDS的目录服务 从用户的角度来看,这些都是由不同的命名方案构成的复合名称。URL就是一个很典型的例子,它由多个命名方案构成。使用目录服务的应用程序必须支持这种复合构成方式 使用目录服务API的Java开发人员获得的好处不仅在于API独立于特定的目录或命名服务,而且可以通过多层的命名方案无缝访问(seamless acess)目录对象。实际上,任何的应用程序都可以将自身的对象和特定的命名绑定起来,这种功能可以使到任何的Java程序查找和获取任何类型的对象 终端用户可以方便地使用逻辑名称从而轻易地在网络上查找和识别各种不同的对象,目录服务的开发人员可以使用API方便地在不同的客服端之间切换而不需要作任何更改
Tomcat把DataSource作为一种可以配置的JNDI资源来处理。生成DataSource对象的工厂为org.apache.commons.dbcp.BasicDataSourceFactory。 在javax.naming包中提供了Context接口,该接口提供了将对象和名字绑定,以及通过名字检索对象的方法。Context中的主要方法有:
<Resource name = "jdbc/BookDb" B.在<Resource>元素中加入<ResourceParams>元素:<ResourceParams>元素用来指定各种参数值 <ResourceParams name = "jdbc/BookDb"> <parameter> <parameter> <parameter> <parameter> <parameter> <parameter> <parameter> <parameter> </ResourceParams> C.在web.xml中加入<resource-ref>元素:<resource-ref>元素表示在Web应用中引用JNDI资源 *************************************************************************************
A.获得对数据源的引用: B.获得数据库连接对象: 在连接池中使用close()方法和在非连接池中使用close()方法的区别是:前者仅仅是把数据库连接对象返回到数据库连接池中,是连接对象又恢复到空闲状态,而非关闭数据库连接,而后者将直接关闭和数据库的连接
|
一、Servlet过滤器的概念: *************************************************************************************** Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改。 Servlet过滤器本身并不产生请求和响应对象,它只能提供过滤作用。Servlet过期能够在Servlet被调用之前检查Request对象,修改Request Header和Request内容;在Servlet被调用之后检查Response对象,修改Response Header和Response内容。 Servlet过期负责过滤的Web组件可以是Servlet、JSP或者HTML文件。
A.init(FilterConfig): B.doFilter(ServletRequest,ServletResponse,FilterChain): B.destroy():
九、Servlet过滤器的发布: B.<filter>元素用来定义一个过滤器: C.<filter-mapping>元素用于将过滤器和URL关联:
B.在web.xml中配置Servlet和Servlet过滤器,应该先声明过滤器元素,再声明Servlet元素
|
一、基本概念: ************************************************************************************* 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 3.标签库描述文件(Tag Library Descriptor): 4.标签处理类(Tag Handle Class):
第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的前缀(Taglib Directive's Prefix)属性完成,所以在同一个页面中使用相同前缀的元素都属于这个标签库。每个标签库都定义了一个默认的前缀,用在标签库的文档中或者页面中插入自定义标签。所以,你可以使用除了诸如jsp,jspx,java,servlet,sun,sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀。 2.<someprefix:sometag key=”somevalue”/>
A.parent属性:代表嵌套了当前标签的上层标签的处理类 3.JSP容器在调用doStartTag或者doEndTag方法前,会先调用setPageContext和setParent方法,设置pageContext和parent。因此在标签处理类中可以直接访问pageContext变量 4.在TagSupport的构造方法中不能访问pageContext成员变量,因为此时JSP容器还没有调用
2.doStartTag:但JSP容器遇到自定义标签的起始标志,就会调用doStartTag()方法。 3.doEndTag:但JSP容器遇到自定义标签的结束标志,就会调用doEndTag()方法。doEndTag
十、Properties类的常用API: 十一、ServletContext类的常用API: 十二、如何使用ServletContxt读取并保存属性文件: 十三、如何在Web应用启动时装载静态文本: 十四、如何创建标签处理类: 十五、创建标签库描述文件(Tag Library Descriptor): 2.标签库元素<taglib>用来设定标签库的相关信息,它的常用属性有: 3.标签元素<tag>用来定义一个标签,它的常见属性有: 4.标签属性元素<attribute>用来定义标签的属性,它的常见属性有: 十六、在Web应用中使用标签: 2.<taglib-uri>:设定Tag Library的惟一标示符,在Web应用中将根据它来引用Tag Libray 5.prefix表示在JSP网页中引用这个标签库的标签时的前缀,uri用来指定Tag Library的标识符,它必须和web.xml中的<taglib-uri>属性保持一致。 |