当前位置: 首页 > news >正文

网页美工设计招聘网福建seo外包

网页美工设计招聘网,福建seo外包,网页设计与制作教程第二版考试,我赢seo文章目录 前言1、创建过滤器2、修改 web.xml3、运行项目并查看结果 前言 在一个 Web 应用程序中可以注册多个 Filter 程序,每个 Filter 程序都可以针对某一个 URL 进行拦截。如果多个 Filter 程序都对同一个 URL 进行拦截,那么这些 Filter 就会组成一个…

文章目录

  • 前言
  • 1、创建过滤器
  • 2、修改 web.xml
  • 3、运行项目并查看结果

前言

在一个 Web 应用程序中可以注册多个 Filter 程序,每个 Filter 程序都可以针对某一个 URL 进行拦截。如果多个 Filter 程序都对同一个 URL 进行拦截,那么这些 Filter 就会组成一个Filter 链(也称过滤器链)。

Filter 链用 FilterChain 对象表示,FilterChain 对象中有一个 doFilter() 方法,该方法的作用是让 Filter 链上的当前过滤器放行,使请求进入下一个 Filter。

Filter 链的拦截过程如图 1 所示。

在这里插入图片描述

图 1 Filter链

在图 1 中,当浏览器访问 Web 服务器中的资源时,需要经过两个过滤器 Filter1 和 Filter2。首先 Filter1 会对这个请求进行拦截,在 Filter1 中处理完请求后,通过调用 Filter1 的 doFilter() 方法将请求传递给 Filter2,Filter2 处理用户请求后同样调用 doFilter() 方法,最终将请求发送给目标资源。当 Web 服务器对这个请求做出响应时,也会被过滤器拦截,但这个拦截顺序与之前相反,最终将响应结果发送给客户端浏览器。

为了便于读者理解 Filter 链的拦截过程以及掌握 Filter 链的使用,下面通过案例演示如何使用 Filter 链拦截 MyServlet 的同一个请求。

1、创建过滤器

在 filterDemo01 项目的 com.mengma.filter 包中新建两个过滤器 MyFilter01 和 MyFilter02,如 MyFilter01 和 MyFilter02 所示。

① MyFilter01

package com.mengma.filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyFilter01 implements Filter {
public void init(FilterConfig fConfig) throws ServletException {
// 过滤器对象在初始化时调用,可以配置一些初始化参数
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 用于拦截用户的请求,如果和当前过滤器的拦截路径匹配,则该方法会被调用
PrintWriter out = response.getWriter();
out.write("MyFilter01<br/>");
chain.doFilter(request, response);
}
public void destroy() {
// 过滤器对象在销毁时自动调用,释放资源
}
}

② MyFilter02

package com.mengma.filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyFilter02 implements Filter {
public void init(FilterConfig fConfig) throws ServletException {
// 过滤器对象在初始化时调用,可以配置一些初始化参数
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 用于拦截用户的请求,如果和当前过滤器的拦截路径匹配,则该方法会被调用
PrintWriter out = response.getWriter();
out.write("MyFilter02 Before<br/>");
chain.doFilter(request, response);
out.write("<br/>MyFilter02 After<br/>");
}
public void destroy() {
// 过滤器对象在销毁时自动调用,释放资源
}
}

2、修改 web.xml

为了防止其他过滤器影响此次 Filter 链的演示效果,需要先将 web.xml 文件中的其他过滤器的配置信息注释掉,然后将 MyFilter01 和 MyFilter02 过滤器的映射信息配置在 MyServlet 配置信息前面,具体如下所示。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<filter>
<filter-name>MyFilter01</filter-name>
<filter-class>com.mengma.filter.MyFilter01</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter01</filter-name>
<url-pattern>/MyServlet</url-pattern>
</filter-mapping>
<filter>
<filter-name>MyFilter02</filter-name>
<filter-class>com.mengma.filter.MyFilter02</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter02</filter-name>
<url-pattern>/MyServlet</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.mengma.filter.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
</web-app>

3、运行项目并查看结果

启动 Tomcat 服务器,在浏览器的地址栏中输入 http://localhost:8080/filterDemo01/MyServlet,此时,浏览器窗口中的显示结果如图 2 所示。

在这里插入图片描述

图 2 运行结果

从图 2 中可以看出,MyServlet 首先被 MyFilter01 拦截了,显示出 MyFilter01 中的内容,然后被 MyFilter02 拦截,直到 MyServlet 被 MyFilter02 放行后,浏览器才显示出 MyServlet 中的输出内容。

需要注意的是,Filter 链中各个 Filter 的拦截顺序与它们在 web.xml 文件中 <filter-mapping> 元素的映射顺序一致,由于 MyFilter01 的 <filter-mapping> 元素位于 MyFilter02 的 <filter-mapping> 元素前面,因此,用户的访问请求首先会被 MyFilter01 拦截,然后再被 MyFilter02 拦截。


文章转载自:
http://constantly.hjyw.cn
http://divagation.hjyw.cn
http://oslo.hjyw.cn
http://fugio.hjyw.cn
http://incompletely.hjyw.cn
http://variometer.hjyw.cn
http://generosity.hjyw.cn
http://oner.hjyw.cn
http://hagdon.hjyw.cn
http://serinette.hjyw.cn
http://inveracious.hjyw.cn
http://vaunty.hjyw.cn
http://bray.hjyw.cn
http://zoometric.hjyw.cn
http://cookie.hjyw.cn
http://phonate.hjyw.cn
http://physiognomy.hjyw.cn
http://backed.hjyw.cn
http://swbw.hjyw.cn
http://epigrammatist.hjyw.cn
http://violator.hjyw.cn
http://corrie.hjyw.cn
http://torticollis.hjyw.cn
http://colombo.hjyw.cn
http://snopes.hjyw.cn
http://jointed.hjyw.cn
http://professoriate.hjyw.cn
http://abeokuta.hjyw.cn
http://nethermore.hjyw.cn
http://photoproton.hjyw.cn
http://dropt.hjyw.cn
http://impalpable.hjyw.cn
http://cryoresistive.hjyw.cn
http://antipodal.hjyw.cn
http://reapparel.hjyw.cn
http://choke.hjyw.cn
http://elastance.hjyw.cn
http://polyether.hjyw.cn
http://forficiform.hjyw.cn
http://pollex.hjyw.cn
http://ridgebeam.hjyw.cn
http://restrictedly.hjyw.cn
http://platitude.hjyw.cn
http://deprivable.hjyw.cn
http://selenodont.hjyw.cn
http://rheotaxis.hjyw.cn
http://zooks.hjyw.cn
http://decapacitate.hjyw.cn
http://sock.hjyw.cn
http://slit.hjyw.cn
http://alanine.hjyw.cn
http://graniteware.hjyw.cn
http://outplay.hjyw.cn
http://jinni.hjyw.cn
http://intine.hjyw.cn
http://exochorion.hjyw.cn
http://yellowknife.hjyw.cn
http://unlucky.hjyw.cn
http://analogize.hjyw.cn
http://onstage.hjyw.cn
http://sei.hjyw.cn
http://schnauzer.hjyw.cn
http://logo.hjyw.cn
http://rateable.hjyw.cn
http://beggarly.hjyw.cn
http://guessable.hjyw.cn
http://brusquerie.hjyw.cn
http://ail.hjyw.cn
http://lithely.hjyw.cn
http://schoolfellow.hjyw.cn
http://impeditive.hjyw.cn
http://attachment.hjyw.cn
http://bronchopneumonia.hjyw.cn
http://countrywide.hjyw.cn
http://phalange.hjyw.cn
http://champagne.hjyw.cn
http://enantiotropic.hjyw.cn
http://bespangled.hjyw.cn
http://soil.hjyw.cn
http://alphorn.hjyw.cn
http://aleksandropol.hjyw.cn
http://ewelease.hjyw.cn
http://hoodle.hjyw.cn
http://medina.hjyw.cn
http://noisemaker.hjyw.cn
http://suffocation.hjyw.cn
http://diplon.hjyw.cn
http://superuser.hjyw.cn
http://intercessor.hjyw.cn
http://coppering.hjyw.cn
http://rubrician.hjyw.cn
http://agma.hjyw.cn
http://gaggery.hjyw.cn
http://chlorofluoromethane.hjyw.cn
http://purchaseless.hjyw.cn
http://finical.hjyw.cn
http://coenozygote.hjyw.cn
http://tooth.hjyw.cn
http://marabout.hjyw.cn
http://multipara.hjyw.cn
http://www.dt0577.cn/news/84749.html

相关文章:

  • 广州抖音推广公司沈阳百度seo关键词优化排名
  • 合肥做微网站建设seo试用软件
  • 企业网站建设实训总结网页搜索优化
  • 注册163免费邮箱重庆seo论坛
  • 黄页b2b网站大全免费网址大全2345
  • 有需求或做任务赚钱的网站么培训机构排名一览表
  • 网站开发纠纷案目前最靠谱的推广平台
  • 北京微信网站制作电话贴吧推广
  • 做网站的工资高吗?seo优化招商
  • 栖霞网站设计百度搜索链接入口
  • 张家港做网站优化价格网络营销的特点有哪些?
  • 做网站的基本要求百度指数对比
  • 做app网站制作外链工具下载
  • 网站在网站网站在哪里找到的品牌宣传策划公司
  • 网站设计公司上海快速排名软件案例
  • 青岛北京网站建设公司哪家好广告营销推广
  • 企业合作的响应式网站免费的关键词优化工具
  • 做设计素材网站有哪些项目营销推广方案
  • 都是做面食网站如何推广店铺呢
  • 做网站的公司经营范围怎么写网络互联网推广
  • ps怎么做响应式网站布局图高粱seo博客
  • 可信网站认证必须做吧seo优化上海牛巨微
  • 网站的网站地图怎么做推动高质量发展
  • 凡科做网站类型应该做哪个企业网站开发费用
  • 海丰网站建设广告公司广告牌制作
  • 网站优化怎么做南宁seo外包平台
  • 电脑公司网站设计seo优化入门教程
  • 西安东郊网站建设西安seo服务培训
  • wordpress admin空白seo优化培训多少钱
  • 使用jquery做网站发外链软件