笔者简言

笔者在博园里面注册是在二年前。可是那个时候我不知道要写些什么,也怕写出来被别人骂误人子弟。而现在却动笔了是因为前一段时间内我去参加一些大公司的面试,让笔者内心深处留下很多问号。最近三年来我一直从事.NET方面的开发。对于现在的公司我并不是很开心,原因有很多。最重要是公司让我失信于人,心灰意冷。所以我就想出去看看,也就有了面试大公司的事情。其中有一家做跟车相关的技术主管说对我的技术表示怀疑,怕我不能上手JAVA。所以我就想着借助博园来帮我复习记录,同时希望能帮助他人了解Struts2。如果有写不好的地方,也请个各读者见凉。

记得第一次接触Strust系列相关的知识点是在2008年下学期某JAVA培训机构里面(那个时候我是一名在校生)。struts1这就是样子出现在我的面前,对他我冲满好奇和渴望。用了一周的时间学习他的机制和软件思想。这也是我第一次明白软件思想的魅力(MVC思想)。我不清楚Struts2是什么时候出现,我只能记得大概是在我学完Struts1之后半年出现了。那个时候很多人会问Struts1是不是Struts2的升级版。当然对这样子的问题,我还只能说声——管他的,只要是好的框架我都学。如果非要认真来讲的话,笔者认为都是MVC框架,但Struts2要比struts1来得好一些。当然智者见智仁者见仁,并没有一个准确的说活。struts2实际是在Webwork框架上引入strtus1部分思想(当然这是我的认个看法)。

注意: 1.笔者只是对Struts2进行源码分析,并不是对Struts2如何使用进行讲解。所以如果不了解Struts2或是JAVA初学者最好不要看,

    请先学好相关的JAVA知识和Struts2知识在来。

        2.笔者在写这一系列的文章的时候,定位只是用于指引我复习的便利,所以并非是针对于学习教程的。所以请读者见凉。

学习环境

1.Eclipse 4.5.2 (Mars)

2.JDK 1.7

3.Pache-tomcat-7.0.70

4.struts-2.5.2

 学习准备

不管是进行什么样子的源码学习,我们一定要先拿到对应的源码才行(源码下载:1.官网:http://struts.apache.org/download.cgi。2.Github:https://github.com/apache/struts )。当我们下载源码解压打开就有如图下的文件目录。我们将要用到的是Apps文件里面的struts2-showcase.war。请在用解压软件打开解开就会拿到我们需要的项目源码。这也是我们将来学习源码的项目环境。

我用Eclipse新建了一个名为Showcase的动态Web项目。然后把源码复制到项目里面。如图下就是复制之后

我们可以看到这个项目大部的Struts2的知识都用到了。所以我们完全可以在这上面进行二次开发。项目现在是有了,但是如果只是这个的话,显示是不够的。我们还要有运行这个项目对应的服务器。我的选择是Tomcat 作为我项目的服务器是因为他是一个小型的服务器。相关的eclipse和Tomcat配置的知识点的话。这里不作介绍。下图是运行项目成功后。

Struts2 源码分析——前言的更多相关文章

  1. Struts2 源码分析——Hello world

    新建第一个应用程序 上一章我们讲到了关于struts2核心机制.对于程序员来讲比较概念的一章.而本章笔者将会亲手写一个Hello world的例子.所以如果对struts2使用比较了解的朋友,请跳过本 ...

  2. Struts2 源码分析——DefaultActionInvocation类的执行action

    本章简言 上一章讲到关于拦截器的机制的知识点,让我们对拦截器有了一定的认识.我们也清楚的知道在执行用户action类实例之前,struts2会先去执行当前action类对应的拦截器.而关于在哪里执行a ...

  3. Struts2 源码分析——拦截器的机制

    本章简言 上一章讲到关于action代理类的工作.即是如何去找对应的action配置信息,并执行action类的实例.而这一章笔者将讲到在执行action需要用到的拦截器.为什么要讲拦截器呢?可以这样 ...

  4. Struts2 源码分析——Action代理类的工作

    章节简言 上一章笔者讲到关于如何加载配置文件里面的package元素节点信息.相信读者到这里心里面对struts2在启动的时候加载相关的信息有了一定的了解和认识.而本章将讲到关于struts2启动成功 ...

  5. Struts2 源码分析——配置管理之PackageProvider接口

    本章简言 上一章讲到关于ContainerProvider的知识.让我们知道struts2是如何注册相关的数据.也知道如何加载相关的配置信息.本章笔者将讲到如何加载配置文件里面的package元素节点 ...

  6. Struts2 源码分析——配置管理之ContainerProvider接口

    本章简言 上一章笔者讲到关于Dispatcher类的执行action功能,知道了关于执行action需要用到的信息.而本章将会讲到的内容也跟Dispatcher类有关系.那就是配置管理中的Contai ...

  7. Struts2 源码分析——调结者(Dispatcher)之执行action

    章节简言 上一章笔者写关于Dispatcher类如何处理接受来的request请求.当然读者们也知道他并非正真的执行action操作.他只是在执行action操作之前的准备工作.那么谁才是正真的执行a ...

  8. Struts2 源码分析——过滤器(Filter)

    章节简言 上一章笔者试着建一个Hello world的例子.是一个空白的struts2例子.明白了运行struts2至少需要用到哪一些Jar包.而这一章笔者将根据前面章节(Struts2 源码分析—— ...

  9. Struts2 源码分析——项目分析

    项目知识点分析 从上一章中我们知道了接下来我们要去了解源码的项目(struts2-showcase).而这一章将讲述我三年后在次接触struts2-showcase项目是一个什么样子的情况.我有一个工 ...

随机推荐

  1. smartsvn 用法

    都说SMART SVN是最全的Mac上的SVN客户端工具,分Pro版和基础版,基础版跟Versions差不多,这里找了Pro版下载并破解:mac版本smartSVN客户端下载:http://www.s ...

  2. 【Win10】UAP/UWP/通用 开发之 RelativePanel

    [Some information relates to pre-released product which may be substantially modified before it's co ...

  3. ORACLE EXP/IMP的使用详解

    导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp 是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的 ...

  4. 国庆送干货——前端建站实用UI工具vajoyJS

    差不多是从七月开始有空就写一写,写到现在也算是可以拿出来展示了,vajoyJS是一款可以提供多项建站常用UI功能的插件库,让你轻松创建简易幻灯片.模态窗口和单屏滚页等效果.vajoyJS依赖于 jQu ...

  5. java 泛型的几点备忘

    1.在java虚拟机中是没有泛型的,所有泛型类的参数都会被擦除,如下: public void test(List<String> list, int num){} public void ...

  6. STC12C5A60S2笔记8(串口)

    1. 基本特性 1) 概念 1.1) 并行通信:数据的各位同时进行传输,传输速度快: 1.2)串行通信:通过一根或两根数据线传输数据,数据在信号线上依次传输:串行通信分为同步和异步两种: 1.2.1) ...

  7. 第二次作业:Github的使用

    Github的使用 一·注册:     要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称 ...

  8. Kinect for Windows SDK 1.8的改进及新特性

    今年3月, 微软推出了Kinect for Windows SDK 1.7 更新,包括了手势识别 Kinect Interactions 和实时 3D 建模 Kinect Fusion 两项新技术. ...

  9. 安卓手动新增SDK

    一:下载SDK 比如,我正要使用sdk5.0,于是我随便找了一个源下载:http://download.csdn.net/detail/dan_seek/8216801 二:整合进eclipse 解压 ...

  10. jni和java对应关系

    Java 类型 本地类型 描述 boolean jboolean C/C++8位整型 byte jbyte C/C++带符号的8位整型 char jchar C/C++无符号的16位整型 short ...