Servlet笔记三

一:连接池

1. 概念:为Web应用创建定量的连接对象,保存在内存中(连接池),每次访问时从池中获取连接对象,使用完毕后,放回池中。

 

2. Tomcat连接池开发过程://密码不能太短

I. 提供数据库连接Jar包(ojdbc5.jar),导入到tomcat/lib中。

“ojdbc5.jar”,适用于jdk5.0。

“ojdbc6.jar”, 适用于jdk6.0。

“ojdbc14.jar”,适用于 JDK 1.4 and 5.0。

备注:jdk高版本的话,可以用”ojdbc6.jar“即可.

 

II. 在tomcat/conf/context.xml中增加<resource />标签。

 

III. 编码://  1.获取Context.xml对象   2.查找访问名称

 //java:comp/env/是java中JNDI固定写法。

 

IV.注意:属于Tomcat,必须在web环境下使用,不可使用main函数 junit测试。

 

V. 缺点:与服务器耦合太强,不利于维护,建议使用第三方开源连接池、框架连接池(MyBatis、Hibernate、Spring)。

 

3. DBCP连接池使用过程:第三方连接池

I. 引入Jar包(ojdbc6.jar)

 

II. 引入配置文件。(不能改动键---可以更换值)

 

III. 编码:

 

二:过滤器

 

 

1. 概念:

I. javax.servlet.Filter接口是实现类对象,服务器启动时创建的对象。

II. 执行地位在Servlet之前,请求时,会先经过Filter,再到达目标Servlet中;响应时,会根据执行流程再次反向执行Filter。

III. 可以解决多个Servlet共性代码的冗余问题(乱码处理、登录验证)。

 

2. 实现步骤:

①:自定义实现Filter接口

②:重写javax.servlet.Filter中的三个方法

init初始化,程序加载时调用

destory   web程序的结束

doFilter()  核心拦截办法

	public class MyFilter implements Filter {
	@Override
	public void destroy() {

	}
	// 核心拦截方法
	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		// 允许链继续调用下一个Filter,若无过滤器,则负责传递到Servlet
		chain.doFilter(request, response);
	}
	@Override
	public void init(FilterConfig filterConfig) throws ServletException {

	}
}


③:配置web.xml

 

 

<filter>  :配置 Filter 名称,实现类以及初始化参数。可以同时配置多个初始化参数。

<filter-mapping> :配置什么规则下使用这个Filter 。

<url-pattern> :配置url的规则,可以配置多个,也可以使用通配符(*)。例如 /jsp/* 适用于本ContextPath下以“/jsp/ ”开头的所有servlet路径

多个filter的配置顺序即过滤器链调用顺序。

<dispatcher> :配置到达servlet的方式,可以同时配置多个。有四种取值:REQUEST、FORWARD、ERROR、INCLUDE。如果没有配置,则默认为REQUEST。它们的区别是:

# REQUEST :表示仅当直接请求servlet时才生效。

# FORWARD :表示仅当某servlet通过forward转发到该servlet时才生效。

# INCLUDE :Jsp中可以通过<jsp:include/>请求某servlet, 只有这种情况才有效。

# ERROR :Jsp中可以通过<%@page errorPage="error.jsp" %>指定错误处理页面,仅在这种情况下才生效。

4. 常用的Filter

I. 统一处理字符乱码:

 

 

II. 所有Servlet的权限验证(除:登录、注册):

 

 

 

 

三:监听器

1. 概念:等待一个特定事件的发生,一旦发生,则会触发监听器的事件执行(某个任务)。

2. HttpSessionListener:

监视HttpSession对象的创建和销毁

 

 

3. ServletContextListener:

监视ServletContext对象的创建与销毁

 

 

Xml文件配置

 

 Session对象的创建意味着服务器与客户端进行了一次会话,我们在进行UV统计的时候,以用户登录的Session创建为基准,统计在线人数。

 

 

猜你喜欢

转载自blog.csdn.net/sugar_map/article/details/80012646
今日推荐