2019.06.10默写内容
- 1、Java Web三大件是什么?有什么相似之处?
- 2、如何编写一个过滤器,常用方法有哪些?
- 3、Filter一般在项目中处理哪些问题?
- 4、Filter的两种配置方式
- 5、Filter的4种拦截配置规则
- 6、dispatcherTypes属性是干嘛用的?
- 7、多个过滤器之间的一个执行顺序是什么?
- 8、过滤器中如何判断一个用户是否登录?
- 9、啥是监听器,两种配置方式是什么?
- 10、ServletContext对象什么时候被创建,什么时候被销毁?
- 11、web.xml中都包含哪些配置,执行顺序是什么?
- 12、我们知道分页查询需要使用 limit 开始位置,查询条数这样的SQL,那么现在知道了当前页数page,每页显示的条数rows,如何求开始位置,请用公式表示。
- 13、重定向和内部转发的区别,什么时候使用重定向,什么时候使用内部转发?
1、Java Web三大件是什么?有什么相似之处?
Servlet、Filter、Listener
相似之处:三者在编写完之后都需要配置
2、如何编写一个过滤器,常用方法有哪些?
1. 定义一个类,实现接口Filter
2. 复写方法
3. 配置拦截路径
1. web.xml
2. 注解
常用方法:
3、Filter一般在项目中处理哪些问题?
一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤...
4、Filter的两种配置方式
注解配置 @WebFilter("/*")
xml配置
<filter>
<filter-name>demo1</filter-name>
<filter-class>cn.qfedu.web.filter.FilterDemo1</filter-class>
</filter>
<filter-mapping>
<filter-name>demo1</filter-name>
<!-- 拦截路径 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
5、Filter的4种拦截配置规则
1. 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行
2. 拦截目录: /user/* 访问/user下的所有资源时,过滤器都会被执行
3. 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行
4. 拦截所有资源:/* 访问所有资源时,过滤器都会被执行
6、dispatcherTypes属性是干嘛用的?
拦截方式配置:资源被访问的方式
1. 注解配置:
设置dispatcherTypes属性
1. REQUEST:默认值。浏览器直接请求资源
2. FORWARD:转发访问资源
3. INCLUDE:包含访问资源
4. ERROR:错误跳转资源
5. ASYNC:异步访问资源
2. web.xml配置
设置<dispatcher></dispatcher>标签即可
<dispatcher>REQUEST</dispatcher>
7、多个过滤器之间的一个执行顺序是什么?
1. 注解配置:按照类名的字符串比较规则比较,值小的先执行
如: AFilter 和 BFilter,AFilter就先执行了。
2. web.xml配置: <filter-mapping>谁定义在上边,谁先执行
8、过滤器中如何判断一个用户是否登录?
在登陆页面中创建一个session,存放登陆的用户名;
每次拦截到页面等程序,判断session的值是否为空,
如果为空,则未登录;
如果不为空,则已经登陆。
9、啥是监听器,两种配置方式是什么?
监听器
监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特定事件,
比如ServletContext,HttpSession,ServletRequest的创建和销毁;
变量的创建、销毁和修改等。可以在某些动作前后增加处理,实现监控。
配置方式
10、ServletContext对象什么时候被创建,什么时候被销毁?
11、web.xml中都包含哪些配置,执行顺序是什么?
1、Servlet
2、Filter
3、Listener
4、初始化参数context-param
5、welcome-file-list
执行顺序
<context-param> -> <listener> -> <filter> -> <servlet>