Struts2 源码分析——核心机制】的更多相关文章

MVC和三层的看法 通过上一章我们明白我们要学习的知识点和目标.所以这章我将从使用者来讲struts2的机制原理.我们都清楚的知道struts2的核心思想是MVC思想.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写.说到MVC思想我就不得不讲到另一个可能让人迷糊的知识点(三层架构).有多很面试官会问:MVC和三层架构是不是同一个东西.如果不是他们又别分是什么.我们来看一下下面的定义. 三层架构的定义 1.表现层…
本章简言 上一章讲到关于action代理类的工作.即是如何去找对应的action配置信息,并执行action类的实例.而这一章笔者将讲到在执行action需要用到的拦截器.为什么要讲拦截器呢?可以这样子讲吧.拦截器的应用是sturts2核心的亮点之一.如果不明白拦截器是什么的话,那么你相当于没有学习过struts2.笔者本来想直接讲这一章的知识点.可是又怕读者可能对拦截器没有一个概念化的理解.为什么这么讲呢?struts2在设计拦截器这一个部分的内容.在笔者看来事实是以AOP为核心思想来设计的.…
章节简言 上一章笔者试着建一个Hello world的例子.是一个空白的struts2例子.明白了运行struts2至少需要用到哪一些Jar包.而这一章笔者将根据前面章节(Struts2 源码分析——核心机制)里的机制图片来分析源码.如果还不明白核心机制的朋友,请转到对应的章节进行阅读.笔者为了方便读者阅读,也把图片在次贴到了本章中.如下 根据图片笔者就明白我们首要分析便是橙黄色(Servlet Filters).也就是传说的过滤器(Filter).相信看过笔者前面几个章节的读者都明白strut…
章节简言 上一章笔者讲到关于如何加载配置文件里面的package元素节点信息.相信读者到这里心里面对struts2在启动的时候加载相关的信息有了一定的了解和认识.而本章将讲到关于struts2启动成功之后,接受到用户action请求之后如何处理并找到对应的action类.可以说这章是讲述<Struts2 源码分析——调结者(Dispatcher)之执行action>章节之后的事情.即是核心机制图片的蓝色(Struts core)分部的知识点.通过前面几章节的内容至少我们知道了struts2启动…
本章简言 上一章讲到关于ContainerProvider的知识.让我们知道struts2是如何注册相关的数据.也知道如何加载相关的配置信息.本章笔者将讲到如何加载配置文件里面的package元素节点 .如struts.xml文件里面的package节点.那么为什么要分开来讲呢?按道理的话,都是放在上一章中一起讲不是更好吗?关键点在于笔者也不明白strtus2的作者为什么会这样子设计,把关于加载package元素节点信息的工作独立出来.而他的接口便是PackageProvider接口.但是不管如…
章节简言 上一章笔者写关于Dispatcher类如何处理接受来的request请求.当然读者们也知道他并非正真的执行action操作.他只是在执行action操作之前的准备工作.那么谁才是正真的执行action呢?本章笔者就带大家来看看StrutsExecuteFilter类的工作.在理解StrutsExecuteFilter类的工作之前,笔者还是希望大家回顾一下前一章讲到的request请求工作.为什么这样子讲呢?可以说StrutsExecuteFilter类的工作是建立在StrutsPrep…
新建第一个应用程序 上一章我们讲到了关于struts2核心机制.对于程序员来讲比较概念的一章.而本章笔者将会亲手写一个Hello world的例子.所以如果对struts2使用比较了解的朋友,请跳过本章.当然如果有跟笔者相同情况的朋友,我意见不烦看看我写的文章,就当打发时间来着.在前面的章节里面我们知道如果获得源码(不清楚的朋友,请查看Struts2 源码分析——前言).用Eclipse新建一个Dynamic Web Project.项目为HelloWorld.如下面等图片. 第一步:新建一个D…
本章简言 上一章讲到关于拦截器的机制的知识点,让我们对拦截器有了一定的认识.我们也清楚的知道在执行用户action类实例之前,struts2会先去执行当前action类对应的拦截器.而关于在哪里执行action类实例,笔者根本就没有详细的讲到.更多只是几笔带过而以.虽然在<Struts2 源码分析——Action代理类的工作>章节里面也讲到过关于DefaultActionInvocation类的一些作用.提过DefaultActionInvocation类会去执行action类实例.但是还是没…
本章简言 上一章笔者讲到关于Dispatcher类的执行action功能,知道了关于执行action需要用到的信息.而本章将会讲到的内容也跟Dispatcher类有关系.那就是配置管理中的ContainerProvider类.我们都知道在struts2启动的时候,struts2会去加载对应的配置文件.如struts.xml文件等.如果笔者没有记错的话.在<Struts2 源码分析——调结者(Dispatcher)之准备工作>的章节里面讲到过关于ConfigurationManager类的一些知…
上一篇博客springMVC源码分析--异常处理机制HandlerExceptionResolver简单示例(一)中我们简单地实现了一个异常处理实例,接下来我们要介绍一下HandlerExceptionResolver是如何捕获到Controller中抛出的异常并展示到前台页面的. DispatcherServlet是springMVC中最重要的一个类,之前我们已经有博客对其进行介绍过,可以看看其实现机制. HandlerExceptionResolver可以捕获Controller中抛出的异常…