导航:首页 > 净水问答 > servlet过滤器下载

servlet过滤器下载

发布时间:2020-12-17 09:01:52

A. JSP中用filter 过滤某个包中的所有servlet

web.xml中这样配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中写注解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中这样写:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

或者不配置web.xml在filter中写注解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想过滤的servlet名字前加上“/setvlet”在过滤的时候过滤路径就可以写成“/servlet/*”这样就能过滤所有的Servlet。

B. servlet怎么使用多个过滤器

只需要一个过滤器,过滤所有URL,在filter类中做如下操作:代码参考,相信你会懂的。

publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
FilterChainchain)throwsIOException,ServletException{
HttpServletRequestreq=(HttpServletRequest)request;
Stringuri=((HttpServletRequest)request).getRequestURI();
List<String>urilist=newArrayList<String>();
urilist.add("/UserLoginReg/DoRegisterServlet");
urilist.add("/UserLoginReg/UserManageServlet");
urilist.add("/UserLoginReg/FindUserServlet");
if(urilist.contains(uri)==true){

HttpSessionsession=req.getSession(true);
//从session里取的用户名信息
UserBeanuser=(UserBean)session.getAttribute("userall");
//判断如果没有取到用户信息,就跳转到登陆页面
if(user==null){
//跳转到登陆页面
request.setAttribute("info","请先登录");
req.getRequestDispatcher("WEB-INF/jsp/login.jsp").forward(request,
response);
}else{
//已经登陆,继续此次请求
chain.doFilter(request,response);
}

}else{
//已经登陆,继续此次请求
chain.doFilter(request,response);
}
}

C. 创建一个Servlet过滤器

public class IPFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest)arg0;
String ip=req.getRemoteAddr();
if("192.168.70.88".equals(ip)){
req.getRequestDispatcher("error.jsp");
//arg2.doFilter(arg0, arg1);
}
req.getRequestDispatcher("success.jsp");
}
public void init(FilterConfig arg0) throws ServletException {
}
}

D. 怎么搞一个servlet登录过滤器

把JSP页面全部放在WEB-INF下面 ,编写一个BaseServlet继承自HttpServlet,然后其余的servlet集成自BaseServlet,在这个servlet里面判断session,有值的时候转发到servlet里面 没有值的话 跳转到登陆页面 不就可以了?或者在filter里面写上
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;

String uri = req.getRequestURI();
System.out.println( uri );

// 如果请求的路径是首页的资源,那么不需要过滤
if ( !"/loginServlet".equals(uri) && !"/".equals(uri) && !uri.startsWith("/img/") && !uri.startsWith("images") ) {
// 过滤请求,保证访问的资源一定要在用户登录后才可访问
HttpSession session = req.getSession();
if ( session.isNew() ) {
// 跳转到首页
resp.sendRedirect("/");
} else {
User user = (User)session.getAttribute(Const.SESS_PARAM_USER);
if ( user == null ) {
// 跳转到首页
resp.sendRedirect("/");
} else {
chain.doFilter(request, response);
}
}
} else {
chain.doFilter(request, response);
}

E. Servlet过滤器是什么

在 J2EE 探索者 系列文章的最后一篇中,作者 Kyle Gabhart 将向您介绍 Servlet过滤器体系结构,定义过滤器的许多应用,并指导您完成典型过滤器实现的三个步骤。他还会透露 bean 的一些激动人心的变化,预计刚发布的 Java Servlet 2.4 规范会引入这些变化。Servlet过滤器是可插入的 Web 组件,它允许我们实现 Web 应用程序中的预处理和后期处理逻辑。过滤器支持 servlet 和 JSP 页面的基本请求处理功能,比如日志记录、性能、安全、会话处理、XSLT 转换,等等。 过滤器最初是随 Java Servlet 2.3 规范发布的,最近定稿的 2.4 规范对它进行了重大升级。在这 J2EE 探索者 系列文章的最后一篇中,我将向您介绍 Servlet过滤器的基础知识 —— 比如总体的体系结构设计、实现细节,以及在 J2EE Web 应用程序中的典型应用,还会涉及一些预计最新的 Servlet 规范将会提供的扩展功能。? Servlet过滤器是小型的 Web 组件,它们拦截请求和响应,以便查看、提取或以某种方式操作正在客户机和服务器之间交换的数据。过滤器是通常封装了一些功能的 Web 组件,这些功能虽然很重要,但是对于处理客户机请求或发送响应来说不是决定性的。典型的例子包括记录关于请求和响应的数据、处理安全协议、管理会话属性,等等。过滤器提供一种面向对象的模块化机制,用以将公共任务封装到可插入的组件中,这些组件通过一个配置文件来声明,并动态地处理。Servlet过滤器中结合了许多元素,从而使得过滤器成为独特、强大和模块化的 Web 组件。也就是说,Servlet过滤器是:声明式的:过滤器通过 Web 部署描述符(web.xml)中的 XML 标签来声明。这样允许添加和删除过滤器,而无需改动任何应用程序代码或 JSP 页面。动态的:过滤器在运行时由 Servlet 容器调用来拦截和处理请求和响应。灵活的:过滤器在 Web 处理环境中的应用很广泛,涵盖诸如日志记录和安全等许多最公共的辅助任务。过滤器还是灵活的,因为它们可用于对来自客户机的直接调用执行预处理和后期处理,以及处理在防火墙之后的 Web 组件之间调度的请求。最后,可以将过滤器链接起来以提供必需的功能。模块化的:通过把应用程序处理逻辑封装到单个类文件中,过滤器从而定义了可容易地从请求/响应链中添加或删除的模块化单元。可移植的:与 Java 平台的其他许多方面一样,Servlet过滤器是跨平台和跨容器可移植的,从而进一步支持了 Servler 过滤器的模块化和可重用本质。可重用的:归功于过滤器实现类的模块化设计,以及声明式的过滤器配置方式,过滤器可以容易地跨越不同的项目和应用程序使用。透明的:在请求/响应链中包括过滤器,这种设计是为了补充(而不是以任何方式替代)servlet 或 JSP 页面提供的核心处理。因而,过滤器可以根据需要添加或删除,而不会破坏 servlet 或 JSP 页面。所以Servlet过滤器是通过一个配置文件来灵活声明的模块化可重用组件。过滤器动态地处理传入的请求和传出的响应,并且无需修改应用程序代码就可以透明地添加或删除它们。最后,过滤器独立于任何平台或者 Servlet 容器,从而允许将它们容易地部署到任何相容的 J2EE 环境中。在接下来的几小节中,我们将进一步考察 Servlet过滤器机制的总体设计,以及实现、配置和部署过滤器所涉及的步骤。我们还将探讨 Servlet过滤器的一些实际应用,最后简要考察一下模型-视图-控制器(MVC)体系结构中包含的 Servlet过滤器,从而结束本文的讨论。Servlet过滤器体系结构 正如其名称所暗示的,Servlet过滤器 用于拦截传入的请求和/或传出的响应,并监视、修改或以某种方式处理正在通过的数据流。过滤器是自包含、模块化的组件,可以将它们添加到请求/响应链中,或者在无需影响应用程序中其他 Web 组件的情况下删除它们。过滤器仅只是改动请求和响应的运行时处理,因而不应该将它们直接嵌入 Web 应用程序框架,除非是通过 Servlet API 中良好定义的标准接口来实现。Web 资源可以配置为没有过滤器与之关联(这是默认情况)、与单个过滤器关联(这是典型情况),甚至是与一个过滤器链相关联。那么过滤器究竟做什么呢? 像 servlet 一样,它接受请求并响应对象。然后过滤器会检查请求对象,并决定将该请求转发给链中的下一个组件,或者中止该请求并直接向客户机发回一个响应。如果请求被转发了,它将被传递给链中的下一个资源(另一个过滤器、servlet 或 JSP 页面)。在这个请求设法通过过滤器链并被服务器处理之后,一个响应将以相反的顺序通过该链发送回去。这样就给每个过滤器都提供了根据需要处理响应对象的机会。当过滤器在 Servlet 2.3 规范中首次引入时,它们只能过滤 Web 客户机和客户机所访问的指定 Web 资源之间的内容。如果该资源然后将请求调度给其他 Web 资源,那就不能向幕后委托的任何请求应用过滤器。2.4 规范消除了这个限制。Servlet过滤器现在可以应用于 J2EE Web 环境中存在请求和响应对象的任何地方。因此,Servlet过滤器可以应用在客户机和 servlet 之间、servlet 和 servlet 或 JSP 页面之间,以及所包括的每个 JSP 页面之间。这才是我所称的强大能力和灵活性!实现一个 Servlet过滤器 他们说“好事多磨”。我不知道“他们”指的是谁,或者这句古老的谚语究竟有多真实,但是实现一个 Servlet过滤器的确要经历三个步骤。

F. servlet过滤器有什么作用,一般用在什么地方

1.什么叫过滤器呢?
过滤器就是可以对浏览器向jsp,servlet,html等这些web资源发出请求和
服务器回应给浏览器的内容,他可以进行过滤。这个过滤过程中可以拦截浏览
器发出的请求和服务器回应给浏览器的内容。拦截之后,就可以进行查看,并且
可以对拦截内容进行提取,或者进行修改。
Servlet过滤器拦截请求和响应,以便查看,提取或操作客户机和服务器之间
交换数据。
2.Servlet过滤器的用途:
用户认证与授权管理:我们开发一个web应用,肯定有不同权限的用户,有管理员,有普通用户。而管理员又可能分为一级管理员,二级管理员,三级管理员。每一级管理员可能又有不同的管理权限操作,访问不同的资源。过去我们可能都是在jsp页面,servlet中加以权限的控制。通过session,看他是否有这个权限,如果有,则让他操作某个资源。这些都是些共性。那么现在我们就可以把他提取出来。让他通过过滤器来实现;用户来访问一个资源,我们通过过滤器来过滤这个请求,在程序中判断是否有权限来访问这个资源;
有,则让他去访问,没有,就让他转到另外一个页面。这样通过过滤器就实现了授权管理;
统计web应用的访问量,和访问的命中率,报告;
实现web应用的日志处理功能;
实现数据压缩功能;
对传输的数据进行加密;
实现XML文件的XSLT转换;

G. 编写servlet过滤器时,哪个接口用于调用过滤器链中下一个过滤器

void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)这个方法有3个参数,调用过滤器链中内的下一个容过滤器用的是第三个参数

filterChain.doFilter(request, response);

H. 使用servlet过滤器时,可以在web.xml文件的什么元素中包括<init-param>元素

web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:
<context-param>
<param-name>context/param</param-name>
<param-value>avalible ring application</param-value>
</context-param>
(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>com.wes.controller.MainServlet</servlet-class>
<init-param>
<param-name>param1</param-name>
<param-value>avalible in servlet init()</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>

I. 在J2EE中,使用Servlet过滤器,需要在web.xml中配置什么元素

需要配置<filter>标签,这个标签就是用作拦截器的,具体的配置如下:
<filter> --- 配置过滤器
<filter-name>FirstFilter</filter-name>
---为过滤器起一个名字
<filter-class>com.itheima.filter.FirstFilter</filter-class>
---过滤器类的全路径名
<init-param>
--- 可选的 可以配置多个 过滤器的初始化参数可以在过滤器中通过FilterConfig对象来获取
<param-name>name1</param-name>
<param-value>value1</param-value>
</init-param>
</filter>
<filter-mapping>
--- 配置过滤器的拦截路径 ,一个<Filter>可以配置多个<filter-mappint>
<filter-name>FirstFilter</filter-name>
---为哪个过滤器进行配置
<url-pattern>/*</url-pattern>
--- 拦截哪个路径 其中url-pattern的写法和学习Serlvet时的url-pattern的写法相同 这个url-pattern可以配置多个
<servlet-name>Demo1Servlet</servlet-name>
---拦截哪个名字的Servlet 可以配置多个
<dispatcher>REQUEST</dispatcher>
--- 配置拦截哪种类型的对资源的访问,可选的值有REQUESTFORWARD INCLUDE ERROR,如果不配置默认只拦截REQUEST方式,如果具体配置了就拦截具体配置的方式的对资源的访问,此标签可以配置多个
</filter-mapping>

简单点说就是需要配置<filter>和<filter-mapper>标签,filter标签里<filter-name>、<filter-class>是必须要的,filtermapper中<filter-name>、<url-pattern>是必须要的,其他标签都是可选的

J. servlet和过滤器的区别是什么

一、概念:
1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。
2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应。
二、生命周期:
1、servlet:servlet的生命周期始于它被装入web服务器的内存时,并在web服务器终止或重新装入servlet时结束。servlet一旦被装入web服务器,一般不会从web服务器内存中删除,直至web服务器关闭或重新结束。
(1)、装入:启动服务器时加载Servlet的实例;
(2)、初始化:web服务器启动时或web服务器接收到请求时,或者两者之间的某个时刻启动。初始化工作有init()方法负责执行完成;
(3)、调用:从第一次到以后的多次访问,都是只调用doGet()或doPost()方法;
(4)、销毁:停止服务器时调用destroy()方法,销毁实例。
2、filter:(一定要实现javax.servlet包的Filter接口的三个方法init()、doFilter()、destroy(),空实现也行)
(1)、启动服务器时加载过滤器的实例,并调用init()方法来初始化实例;
(2)、每一次请求时都只调用方法doFilter()进行处理;
(3)、停止服务器时调用destroy()方法,销毁实例。
三、职责
1、servlet:
创建并返回一个包含基于客户请求性质的动态内容的完整的html页面;
创建可嵌入到现有的html页面中的一部分html页面(html片段);
读取客户端发来的隐藏数据;
读取客户端发来的显示数据;
与其他服务器资源(包括数据库和java的应用程序)进行通信;
通过状态代码和响应头向客户端发送隐藏数据。
2、filter:
filter能够在一个请求到达servlet之前预处理用户请求,也可以在离开servlet时处理http响应:
在执行servlet之前,首先执行filter程序,并为之做一些预处理工作;
根据程序需要修改请求和响应;
在servlet被调用之后截获servlet的执行
四、区别:
1,servlet 流程是短的,url传来之后,就对其进行处理,之后返回或转向到某一自己指定的页面。它主要用来在 业务处理之前进行控制.
2,filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收等,而servlet 处理之后,不会继续向下传递。filter功能可用来保持流程继续按照原来的方式进行下去,或者主导流程,而servlet的功能主要用来主导流程。
filter可用来进行字符编码的过滤,检测用户是否登陆的过滤,禁止页面缓存等。
参考:https://..com/question/1577030487304140580.html

阅读全文

与servlet过滤器下载相关的资料

热点内容
如何鉴别废水中是否含有酚 浏览:688
ro膜堵塞判断 浏览:606
本溪污水洗沙压滤机哪里有卖 浏览:649
鱼塘净水药去哪里买 浏览:910
纯水英文有多少种 浏览:795
武汉市污水处理驶入快车道 浏览:989
汽油滤芯泄压对车子有什么影响 浏览:103
飞利浦咖啡机hd8847除垢 浏览:786
耐德电器饮水机多少钱 浏览:453
负离子净化器有什么好处 浏览:554
饮水器热水出口堵塞的水垢 浏览:155
反渗透净水器一直排水 浏览:776
解决污水问题资金大致需要多少 浏览:777
安吉尔家用净水器多少钱 浏览:277
蒸馏反应器 浏览:707
海信果蔬净化器被骗怎么退货 浏览:111
国内哪个品牌的净水机做得好 浏览:484
红河88烟过滤嘴规格 浏览:350
离子交换填充柱中存在气泡 浏览:312
小苏打可以清洁掉水垢吗 浏览:859