摘要: Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改。Servlet过滤器本身不生成请求和响应对象,它只提供过滤作用。Servlet过滤器能够在Servlet被调用之前检查Request对象,修改Request Header和Request内容。在Servlet被调用后检查Response Header和Response内容,Servlet过滤器负责过滤WEB的组件可以是Servlet,JSP和HTML。Filter接口: 每一个Servlet过滤器都会实现javax.serlvet.Filter接口,这个接口中含有三个. 阅读全文
posted @ 2011-10-22 18:35 艾泽拉斯的太阳 阅读(1252) 评论(1) 推荐(0) 编辑
摘要: Web服务器跟踪客户状态通常有四种方法: 1,建立含有跟踪数据的隐藏字段 type=hidden 2,重写包含额外参数的URL 3,使用持续的Cookie 4,使用Servlet API中的Session(会话)机制Session概念: Session用于跟踪客户的状态,Session是指在一段时间内,单个客户与WEB服务器一连串相关的交互过程。在一个Session中,客户可能多次请求访问同一个网页,也有可能请求访问各种不同的服务器资源。Session运行机制: 当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存... 阅读全文
posted @ 2011-10-22 15:14 艾泽拉斯的太阳 阅读(1901) 评论(0) 推荐(0) 编辑
摘要: Cookie的英文愿意是“点心”,是用户访问WEB服务器时,服务器在用户硬盘上存放的信息,好像是服务器送给用户的点心。服务器可以根据Cookie来跟踪用户,这对于需要区别用户场合特别有用。一个Cookie包含一对key/value,下面代码实现了服务器生成Cookie并写到用户硬盘。Cookie theCookie = new Cookie("cookiename","cookievalue");response.addCookie(theCookie);下面展示了Servlet中创建、存储和接收客户端存储的Cookie过程public class Co 阅读全文
posted @ 2011-10-22 13:38 艾泽拉斯的太阳 阅读(1715) 评论(0) 推荐(2) 编辑
摘要: Servlet本身是单实例的,这样当多个用户同时访问某个Servlet时,会访问该唯一的Servlet实例中的成员变量,如果对成员变量进行写入工作,那就会导致Servlet的多线程问题,即数据不一致。解决Servlet多线程同步问题的方案: 1,Servlet实现了javax.servlet.singleThreadModel(Servlet2.4中已经废弃该接口),此时的Servlet容器将保证Servlet实例是以单线程的方式运行,也就是说同一时刻,只会有一个线程运行Servlet的service()方法。 不推荐使用,大大降低了效率。 2,去除实例变量,使用局部变量 推荐 3,使用... 阅读全文
posted @ 2011-10-22 13:00 艾泽拉斯的太阳 阅读(7596) 评论(1) 推荐(0) 编辑