第四章Filter(过滤器)样题B

更新时间:2023-07-22 21:16:42 阅读: 评论:0

第四章Filter(过滤器)样题B卷pavilion
一、填空题(每小题2分,共20分)
1、Web服务器卸载Filter对象之前将被调用的是__________方法。
2、在l中用于声明一个过滤器的根元素是__________。
3、在l中声明一个过滤器时,用于设置Filter名称的元素是_________。
4、用于指定过滤器所拦截的资源被Servlet容器调用方式的元素是__________。
5、在配置Filter映射时,<filter-mapping>元素的子元素<dispatcher>的默认取值是
___________。
6、Filter链中各个Filter的拦截顺序与它们在l文件中___________元素的映射顺
序一致。
7、FilterConfig接口的getInitParameterNames 方法用于返回Filter设置的所有初始化参数
财务通则的名称,返回值的类型是___________对象。
8、在Servlet API中提供了request对象的包装类是___________。
9、在配置Filter映射时,<dispatcher>元素的值包括REQUEST、INCLUDE、__________、
ERROR。
10、FilterChain对象中有一个__________方法,该方法作用就是让Filter链上的当前过滤
syntax
器放行,请求进入下一个Filter。
二、选择题。(每小题2分,共20分)
1、下面选项中,可以充当过滤器的类是()
A、Servlet
B、 Filter
C、Listener
D、JSP
2、下面选项中,编写过滤器需要实现的接口是()
安徽理工大学怎么样A、javax.rvlet.Servlet
B、java.rvlet. Filter
C、javax.rvlet. Listener
D、javax.rvlet. Filter
3、下列选项中,用于匹配拦截器所过滤的URL的元素是()
A、<filter-mapping>
B、<url-pattern>
C、<filter >
D、<filter-name>
4、下列选项中,表示过滤器拦截所有用户请求访问的是()
A、<url >/*</url>
B、<url-pattern>/*</url-pattern>
C、<url>/*</url>
D、<url-pattern>* </url-pattern>
5、下面选项中,<dispatcher>元素的默认取值是()
A、INCLUDE
B、FORWARD
C、REQUEST
D、ERROR
6、下面选项中,用于让Filter链上的下一个Filter执行的方法是()
A、rvice()方法
B、filter()方法
C、doFilter()方法
D、doGet()方法
7、下列选项中,FilterConfig接口的getInitParameterNames() 方法的返回值类型是()
A、String
B、Object
C、String []
D、Enumeration
8、下面选项中,能够获取FilterConfig对象的是()
A、getServletConfig()
B、new FilterConfig()
C、getFilterConfig()
D、初始化时容器调用init(FilterConfig config)注入值
9、Servlet API中提供的respon对象的包装类是()
A、HttpServletRequestWrapper
B、HttpServletRequest
C、HttpServletRespon
D、HttpServletResponWrapper
10、关于Filter链执行顺序,是由l文件中的哪个元素决定的()
A、<filter>元素顺序决定
B、<filter-mapping>元素顺序决定
C、<filter-class>元素顺序决定
D、由过滤器类名的字典序决定
三、判断题。(每题2分,共10分)
1、Filter进行初始化代码只能在init()方法中编写,而不能在构造方法中编写。()
2、<url-pattern>子元素用于匹配用户请求的URL,例如“/MyServlet”和/*.do都是正确的
URL。()
3、Filter链中各个Filter执行请求时的拦截顺序与响应时的拦截顺序相同。()
4、装饰设计模式中,包装类要和被包装对象需要实现同样的接口。()
5、页面静态化虽然可以提高程序的性能,但是却脱离了查询数据库,因此当数据库发生变化时,用户无法获得最新的数据。()
四、简答题。(每题5分,共20分)
1、简述什么是过滤器链。
2、简述配置Filter的<filter-mapping>元素的作用。
3、列举Filter类中用于获取l文件初始化信息的方法,并分别简述这些方法的作
用(至少举例3个)。
4、简述FilterConfig的getFilterName方法的作用。
五、操作题。(每题10分,共30分)
1、已知有一个名为MyServlet的程序,程序可向浏览器输出”Hello MyServlet”。请编写一个用
于拦截MyServlet程序的MyFilter拦截器。
要求如下:
1)编写名为MyFilter的过滤器,过滤器可向浏览器输出”Hello MyFilter”。
2)编写l文件,配置MyFilter对MyServlet的拦截。
2、使用Filter实现用户自动登陆的功能。
要求如下:
1)编写用于封装用户信息的Ur.java类,包含urname和password两个成员变量,并提供tter和getter方法。
2)编写login.jsp页面,用于创建一个用户登录的表单,这个表单需要填写用户名和密码,以及用户自动登录的时间。
3)编写index.jsp页面,该页面用于显示用户的登录信息,如果没有用户登录,在index.jsp 页面中就显示一个用户登录的超链接,如果用户已经登录,在index.jsp页面中显示登
录的用户名,以及一个注销的超链接。
4)编写LoginServlet.java程序,该程序用于处理用户的登录请求,如果输入的用户名和密码正确,则发送一个用户自动登录的Cookie,并跳转到首页,否则会提示输入的用
户名或密码错误,并跳转至登录页面login.jsp让用户重新登录。
5)编写LogoutServlet.java程序,该程序用于注销用户登录的信息,在这个程序中首先会将Session会话中保存的Ur对象删除,然后将自动登录的Cookie删除,最后跳转到
index.jsp。
6)编写AutoLoginFilter.java过滤器程序,该程序用于拦截用户登录的访问请求,判断请求中是否包含用户自动登录的Cookie,如果包含则获取Cookie中的用户名和密码,并
验证用户名和密码是否正确,如果正确,则将用户的登录信息封装到Ur对象存入
Session域中,完成用户自动登录。
7)最后,在l文件中,配置AutoLoginFilter过滤器,由于要拦截用户访问资源的所有请求,因此将<url-mapping>元素拦截的路径设置为*。
3、请使用装饰者设计模式,对Bicycle类进行简单包装。
1)创建Bicycle类,定义一个bicycleType属性,定义参数为String bicycleType类型的构造方法,提供一个公共的ride()方法,在ride()方法中输出”某种类型自行车可以骑”。
2)创建MountainBike类,定义一个Bicycle对象类型的属性,定义一个参数为Bicycle对象类型的构造方法,提供一个公共的ride()方法,在ride()方法中通过bicycle属性调用Bicycle类的ride()方法,然后输出MountainBike类中rede()方法的输出语句”可以变速行驶”。
3)在主方法中分别创建Bicycle实例,和MountainBike实例,并分别调用对应类中的ride()方法,查看包装后的Bicycle对象的变化。
答案
一、填空题董小姐原唱
1、destory()
2、<filter>
3、<filter-name>
4、<dispatcher>
5、REQUEST
6、<filter-mapping>
7、Enumeration
8、HttpServletRequestWrapper
9、FORWARD
产量英文10、doFilter()
二、选择题
1.B
2.D
3.B
4.B
5.C
6.C
7.D
8.D
9.D
10.B
三、判断题
1.A
2.B
3.B
4.A
5.A
四、简答题
-------------------第1题-------------------
1.简述什么是过滤器链。
在一个Web应用程序中如果多个Filter程序都对同一个URL进行拦截,那么这些Filter就会组成一个Filter链(也叫过滤器链)
-------------------第2题-------------------
2. 简述配置Filter的<filter-mapping>元素的作用。
在l文件中,<filter-mapping>元素用于配置一个Filter所负责拦截的资源。
-------------------第3题-------------------
3. 列举Filter类中用于获取l文件初始化信息的方法,并分别简述这些方法的作用。assign是什么意思
1. getInitParameterNames()方法用于返回一个Enumeration集合对象,该集合对象中包含在l文件中为当前Filter设置的所有初始化参数的名称。
2. getInitParameter(String name)方法用于返回在l文件中为Filter所设置的某个名称的初始化参数值,如果指定名称的初始化参数不存在,则返回null。
3. getFilterName()方法用于返回在l文件中为Filter所设置的名称,也就是返回
<filter-name>元素的设置值。
五、操作题
-------------------第1题-------------------
1、请编写一个用于拦截MyServlet程序的MyFilter拦截器。
(1)创建MyServlet程序类。
import java.io.*;
import javax.rvlet.*;
import javax.rvlet.http.*;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletRespon respon) throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletRespon respon) throws ServletException, IOException {
doGet(request, respon);
}
}
(2)创建过滤器MyFilter类。
import java.io.*;
import javax.rvlet.Filter;
import javax.rvlet.*;
public class MyFilter implements Filter {
five hundred milespublic void destroy() {
// 过滤器对象在销毁时自动调用,释放资源
}
public void doFilter(ServletRequest request, ServletRespon respon,
FilterChain chain) throws IOException, ServletException {
// 用于拦截用户的请求,如果和当前过滤器的拦截路径匹配,该方法会被调用
PrintWriter Writer();
out.write("Hello MyFilter");
}
public void init(FilterConfig fConfig) throws ServletException {
// 过滤器对象在初始化时调用,可以配置一些初始化参数
tvr}
}
(3)编写l文件,设置对MyServlet的拦截
<filter>
<display-name>MyFilter</display-name>
<filter-name>MyFilter</filter-name>
<filter-class>cn.itcast.chapter04.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/MyServlet</url-pattern>
</filter-mapping>
-
------------------第2题-------------------
晚安英文2、使用Filter实现用户自动登陆的功能
(1)编写Ur.java程序
public class Ur {

本文发布于:2023-07-22 21:16:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1111531.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   用于   登录   对象   过滤器   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图