笔者简言

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

    存储过程(stored procedure)有时候称为sproc,它是真正的脚本-或者更准确的说,他是批处理(batch)-它存储于数据库中,而不是淡出的文件中.无论如何,这个比较并不是很确定.存储过 ...

  2. TFS 改服务器IP 域名 端口方法

    长春电信伴随着开始的严打,所有未备案的80,8080等常用web端口都被封,使得原用8080作为服务端口的tfs代码服务器无法使用,现提供方法如下: 1.关掉VS 2.去掉要改的解决方案的sln文件的 ...

  3. 与webview打交道中踩过的那些坑

    随着HTML5被越来越多的用到web APP的开发当中,webview这一个神器便日渐凸显出重要地位.简要的说,webview能够在移动应用中开辟出一个窗口,在里面显示html页面,css以及js代码 ...

  4. FusionCharts简单教程(七)-----使用FusionCharts实现下钻功能

          前面介绍的FusionCharts都是对FusionCharts的基本属性进行操作,下面几篇博文就FusionCharts的高级特性做一个介绍,包括:添加下钻链接.使用Style样式定制图 ...

  5. PHP数据库操作:使用ORM

    之前我发了一篇博文PHP数据库操作:从MySQL原生API到PDO,向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的.本文介绍如 ...

  6. Atitit paip.对象方法的实现原理与本质.txt

    Atitit paip.对象方法的实现原理与本质.txt 对象方法是如何实现的1 数组,对象,字典1 对象方法是如何实现的 这显然是一个对象方法调用.但对象方法是如何实现的呢?在静态语言中,因为有编译 ...

  7. 如何实现 Android 应用的持续部署?

    构建一个高质量的 Android 应用 最大的挑战是什么? 在整个开发流程中,也许 Coding 时莫名的 bug,也许是 Android 开发兼容性问题,多版本多渠道自动打包问题,也有开发工具选择等 ...

  8. iOS-国家气象局-天气预报接口等常用接口

    接口地址: http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/10101 ...

  9. mysql创建数据库指定编码uft8

    mysql创建数据库指定编码uft8 CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_gener ...

  10. [转]Java并发编程:Lock

    链接: http://www.cnblogs.com/dolphin0520/p/3923167.html