filterdispatcher 工作原理是啥?看完这篇你就懂了!

吉云

今天跟大伙儿聊聊FilterDispatcher,这玩意儿在Struts2里头可是个大管家,所有用户点点鼠标、敲敲键盘发过来的请求,都得先过它这一关。

话说我之前做个项目,用到Struts2,那会儿对这框架还不太熟,配置来配置去,总感觉差点儿意思。后来我静下心来,一步步琢磨,总算把FilterDispatcher给搞明白。

咱得在*里头把这个FilterDispatcher给配置上,要不它咋知道自己要干活?

filterdispatcher 工作原理是啥?看完这篇你就懂了!

配置好以后,我启动服务器,然后在浏览器里输入一个网址,回车!

这时候,FilterDispatcher就开始忙活。它先是把这个网址(也就是请求的URL)给拿过来,仔细瞅瞅,看看这个请求到底想干是要看个文章,还是要提交个表单?

  • 这一步,我感觉就像是FilterDispatcher在问:“喂,这个请求,你想让我找哪个Action来伺候你?”

就是见证奇迹的时刻

filterdispatcher 工作原理是啥?看完这篇你就懂了!

FilterDispatcher会去找一个叫ActionMapper的家伙,问它:“哥们儿,这个请求你认识不?知道该交给哪个Action处理不?”

如果ActionMapper说:“这个请求我知道,应该交给XXXAction来处理。” 那FilterDispatcher就会把这个请求交给一个叫ActionProxy的家伙。

ActionProxy又是个啥?

它就像是一个中间人,拿着FilterDispatcher给的请求,去找Struts2的配置文件(通常是*),在里头翻箱倒柜,找到对应的Action类。

  • 我当时就想,这ActionProxy还挺厉害,像个情报贩子,啥都知道。
  • filterdispatcher 工作原理是啥?看完这篇你就懂了!

找到Action类以后,ActionProxy就会把请求交给这个Action,让它去处理具体的业务逻辑。比如,如果是要查询个数据,Action就会去数据库里头把数据捞出来,然后交给JSP页面去展示。

再说点儿我自己的感悟

我觉得FilterDispatcher就像是一个大管家,把所有的请求都给拦下来,然后分门别类,交给不同的“仆人”(Action)去处理。这样一来,整个系统就井井有条,不会乱套。

而且通过FilterDispatcher,我们可以很方便地对请求进行拦截和过滤,比如检查用户是否登录、验证用户权限等等。这就像是给系统加一道安全门,防止坏人进来捣乱。

FilterDispatcher在Struts2里头的作用非常重要,掌握它,就相当于掌握Struts2的半壁江山。我这只是我自己的理解,可能还不够深入,大家伙儿要是觉得我说的不对,欢迎拍砖!

filterdispatcher 工作原理是啥?看完这篇你就懂了!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]