欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Filter---javaweb的过滤器

程序员文章站 2023-04-08 14:26:51
1.Filter是什么? Filter的基本功能是对Servlet容器调用Servlet的过程进行拦截,从而在Servlet进行响应处理的前后实现一些特殊的功能。 在Servlet API中定义了三个接口类来供开发人员编写Filter程序:Filter,FilterChain,FilterConfi ......

在看param和requestscope之前,不妨先了解下request:

1. request对象通常用来接收客户端提交到服务端的数据,如:在servlet或者action中可以用request.getparameter()的方法获取获取参数内容;

2. requestscope通常是在servlet或者action的服务端中通过request.setattribute()方法把数据放到request对象*客户端获取,然后客户端获取的方法就是requestscope.getattribute()。

1. getparameter:

可以获取url中传递过来的string参数,如: 中的abc;

提示:对于post/get提交的表单,在服务器端我们都可以通过request.getparameter获取表单中的值。

当我们在进行一个请求重定向(redirect)的时候,我们可以通过request.setparameter传递参数,如果用request.setattribute在重定向页面是取不到值的(重定向是两个request请求对象)。

2. getattribute:                                                                                                                                                                                                 

获取的是一个对象(object)。

当我们进行一个请求转发(forward)的时候,可以使用request.setattribute传递参数。

3. requestscope:

是el表达式中的一个隐含对象,类似request,如:${requestscope.username} 表示在request域中取得username属性所对应的值,相当于request.getattribute(“username”)。

4. param:

${param.username} 可理解为:request.getparameter(“username”);

结论:

${param.name} 等价于 request.getparamter("name"),(返回字符串)这两种方法一般用于服务器从页面或者客户端获取的内容,这些内容都是string的。

${requestscope.name} 等价于 request.getattribute("name"),(返回对象)一般是从服务器传递结果到页面,在页面中取出服务器端保存的值!