笔者简言

笔者在博园里面注册是在二年前。可是那个时候我不知道要写些什么,也怕写出来被别人骂误人子弟。而现在却动笔了是因为前一段时间内我去参加一些大公司的面试,让笔者内心深处留下很多问号。最近三年来我一直从事.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. [ASE][Daily Scrum]11.28

    昨天基本上已经完成了sprint2的task, 现在剩下一些bug还需要来修正, 然后我正式加入码代码的大军啦~ Shilin Liu  显示聊天框 Zhao Li     搭建聊天服务器 Yimin ...

  2. Android 高仿微信支付密码输入控件

    像微信支付密码控件,在app中是一个多么司空见惯的功能.最近,项目需要这个功能,于是乎就实现这个功能. 老样子,投篮需要找准角度,变成需要理清思路.对于这个"小而美"的控件,我们思 ...

  3. 【C语言学习】《C Primer Plus》第3章 数据和C

    学习总结 1.C基本数据类型使用11个关键字:int.long.short.unsigned.char.float.double.signed._Bool._Complex和_Imaginary. 2 ...

  4. 【吉光片羽】之 Web API

    1.在asp项目中直接添加apiController,需要新增Global.asax文件.再增加一个webapiConfig,如果需要访问方式为"api/{controller}/{acti ...

  5. JavaScript 数组详解

    在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只 ...

  6. Git bash 配置ssh key

    问题描述 昨天为了配置Qt create中的Git,把我一直在使用的Github删除了,今本以为,这样git的一些配置还在,可是,今天上传一些提交的时候,提示我,git没有密钥.梳理一下,这个简单的配 ...

  7. Linux应用总结(1):自动删除n天前日志

    linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...

  8. Memcache服务器端参数说明

    /usr/local/webserver/memcached/bin/memcached -d -m 512 -u root -l 192.168.0.1 -p 11211 -c 512 -P /us ...

  9. 你可能不知道console强大

    写在前面 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方.可能 ...

  10. Atitit 项目培训与学校的一些思路总结

    Atitit 项目培训与学校的一些思路总结 1.1. Overview implet review  OIR学习大法1 1.2. "录取流程,对报名者唯一的要求是学习该项目所必须的先修知识和 ...