我是靠谱客的博主 搞怪帽子,最近开发中收集的这篇文章主要介绍Servlet编程-2(快速创建Servlet与过滤器)写在前面快速创建Servlet过滤器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

快速创建Servlet与过滤器

  • 写在前面
  • 快速创建Servlet
  • 过滤器
    • 什么是过滤器?
    • 何时使用过滤器?
    • 如何编写及实现过滤器?
      • 过滤器的实现
      • 过滤器的配置
      • 具体实现

写在前面

在写JSP时,我们不可避免要写许多校验信息与连接的代码,如果用纯JSP写,未免太过于混乱,于是,我们可以写入Servlet;在web工程里,我们可以直接生成servlet类,对于需要的我们进行改写,不需要的直接删除。

快速创建Servlet

首先创建一个我们需要的包,包名自定义。
1
在包里新建Servlet类;
2
在生成界面可以设置类名,以及所包含的方法
12
在next里,可以自定义调用Servlet类的路径
2
在web.xml里自动生成Servlet的配置,可以自己写配置,可见上一篇文章
Servlet-1

过滤器

什么是过滤器?

过滤器属于一种小巧的、可插入的Web组件,它能够对Web 应用程序的前期外理和后期处理讲行控制,可以拦截请求和响应,查看、提取或者以某种方式操作正在客户端和服务器之间进行交换的数据

如图,过滤器示意图

去

何时使用过滤器?

情况一:为了解决中文乱码问题
我们经常看到一段代码:request.setCharacterEncoding("'gb2312);response.setContentType(“texthtml;charset=gb2312”);这是Servlet用来设置编码用的,如果Servlet的处理方法最前面没有加入这一段代码,就很可能会出现乱码问题。如果是一个大工程的话,会有很多很多的Servlet,于是很多人发现在这么多代码中重复设置编码,非常麻烦。而且,旦需求变了,需要换成另外的编码,对程序员来说将是一件很繁琐的事情。

情况二:很多的口户网站都会有登录页面
这是为了业务需求,同时也是为了使用户控制更加的安全。如果客户没有登录就访问网站的某一页面,在很多情况下会引发安全问题应该如何避免这种情况?传统情况下,可以使用session检查来完成,但是在很多页面上都添加session检查代码,也会比较繁琐

情况三:许多的网站都存在着各种不同的权限
比如,只有管理员才可以对网站的某些数据进行维护和修改,一般的普通用户是无法完成该功能的。登录过后,网页如何区分普通用户与管理员?如果是每一个页面写一个判断用户类型的代码,似乎也非常繁琐

如何编写及实现过滤器?

Servet 过滤器可以当作一个只需要在web.xml 文件中配置就可以灵活使用可以重用的模块化组件。它能够对JSPHTML、Servlet 文件进行过滤。

过滤器的实现

实现一个过滤器需要两个步骤:实现3个方法
初始化方法:表示的是过滤器初始化时的动作。
public void init(FilterConfig confg);

消亡方法:表示的是过滤器消亡时候的动作。
publio void destroy()

过滤函数:表示的是过滤器过滤时的动作。
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain);

过滤器的配置

1 用filter元素定义过器
fiter元素有两个必要子元素;
flter-name元素用来设定过滤器的名字
flter-class元素用来设定过滤器的类路径

2 用flter-mapping配置过滤器的映射过滤所有文件

<filter-mapping>
<filter-name>FilterName</filter-name>
<url-pattern>/*</url-pattern>//*表示过滤所有文件
</filter-mapping>

具体实现

创建一个类(类名自定义),在类里实现Filter接口
11

具体实现功能自定义

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain arg2) throws IOException, ServletException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("gbk");
		arg2.doFilter(request, response);
	}

这里实现了web界面汉语识别。

最后

以上就是搞怪帽子为你收集整理的Servlet编程-2(快速创建Servlet与过滤器)写在前面快速创建Servlet过滤器的全部内容,希望文章能够帮你解决Servlet编程-2(快速创建Servlet与过滤器)写在前面快速创建Servlet过滤器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部