第一个:就是双向链表
第二个:遍历链表
1.监听器1.编写一个类实现ServletContextLisener接口
2.
1.1 原理
每次启动baby的时候family都会执行方法,
2.过滤器Filter
- 1.编写一个类实现Filter接口
- 2.设置filter的url-patterns(注解)
- filter的init在应用启动成功直接触发,比servlet默认情况下提前
- doFilter方法就相当于servlet的service方法每次访问都会执行一次该方法
将servlet的url-pattern直接给filter使用
关联之后,filter执行的是拦截 *** 作,如果需要放行需要设置代码
Filter设置/*
/*拦截所有,然后放行(静态资源可以访问),可以做编码格式的设置
可以设置同一个url-patterns,过滤链
- 1.如果是注解,那么按照类目字母的ASCII先后顺序执行
- 2.如果是web.xml会按照注解的顺序执行
应用中设置了多个filter,一个设置编码格式,一个设置拦截 *** 作,此时最好通过web来设置顺序
问题根据filter执行过程,为什么dofilter值执行了一遍
去程(去往servlet):只会执行doFileter之前的方法
返程(执行玩sevlet的响应返回的步骤):只会执行doFileter之后的方法
==
未登入不允许访问:核心:
从过滤器里(auth(request))判断uri,如果是访问不允许的页面,就返回true,然后对返回ture的判断是不是有登入状态(从session域取出信息看是否匹配),如果没有就跳转页面;有就放行
利用配置文件,过滤路径(在监听器读配置文件,放到context域里取出一一判断)
加上过滤器之后的完整执行流程
3.面试问题 3.1 Tomcat类加载器
为什么要打破双亲委派(一个应用中可能有多个不同版本jar包的需求,如果委派可能会出错)
tomcat可以部署应用,应用之中有class文件,class文件存在于硬盘之上
这个过程由加载器来完成,实际上该类加载器由tomcat提供
该类加载的特点
1.会到应用的WEB-INF/classes目录下加载class文件
2.会到应用的WEB-INF目录下去加载jar包
(打破的思路:自定义一个类加载器继承classloard),重写了逻辑,从而不会再次自上而下进行寻找)
3.2 tmocat执行流程()
3.3 servlet是什么(接口,由各服务器商实现,完成对请求响应的处理)
4. 会话技术(因为http的无状态性,为了识别客户端,cookie与session)
5.三个域对象(context,sessionm,request)
maven改web项目
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)