层层递进Struts1(八)之总结
先来看一下Struts1学习总结的思维导图,画的主要是Struts1中的重点和博客分布,如下所示:
系列博客的侧重点是:
- Struts1是什么?
- 为什么要使用它?
- 如何使用Struts1?
- Struts1源码分析 ?
以下是Struts1下博客链接:
- 《层层递进Struts1(一)之由Servlet引入Struts》
- 《层层递进Struts1(二)之Struts1简介及登录实例》
- 《层层递进Struts1(三)之Struts组成》
- 《层层递进Struts1(四)之预加载ActionServlet》
- 《层层递进Struts1(五)之处理流程》
- 《层层递进Struts1(六)自定义转换器》
- 《层层递进Struts1(七)详解DispatchAction》
- 《层层递进Struts1(八)之总结》
总结
学完后综合看来,所谓的Struts1框架,实际是利用java已存在的函数二次封装所得,它侧重于解决MVC中V和部分C的控制问题,较多使用配置文件,很大程度上减少了文件个数和代码重复,使得开发和维护相对于不使用框架而言要简单的多。当然因为它只是封装和重组Java函数,如果你愿意,它能实现的功能仅使用Java也能实现。
因为开源,可以看到源码,感觉可以学到更多,就像从struts1里面,精巧的设计模式、精简的函数、简洁的配置文件、优美的书写方式……,另外一个感觉就是,经过这几年的积累,读struts源码没有什么问题,如果深入struts1框架源码也没有发现理解不了的知识点,所以在在技术面前,不能退却。
在习惯上,经过这段时间发现当原本的计划被一直打断时,很容易就将其暂时搁置,而不是合理地将多个事情同时进行,本来Struts1计划的是20天学完并总结完,大概在6月完成,但是中间遇到毕业、考试系统的安排、暑假等问题,时间还是往后拖了不少,这点说明在计划和习惯上,还是有可以改进的地方。
层层递进Struts1(八)之总结的更多相关文章
- 层层递进Struts1(七)详解DispatchAction
通过前面几篇博客,不知道大家有没有发现这个问题,虽然现在可以灵活控制跳转了,但是Action的数量还是比较多,如何既能保证跳转灵活,还能减少Action的数量?这就是我们这篇博客所说的Dispatch ...
- 层层递进Struts1(六)自定义转换器
Struts提供的类型转换有限,如果我们强行使用没有的类型转换,则会出现错误,以Date类型为例: org.apache.catalina.core.StandardWrapperValve invo ...
- 层层递进Struts1(三)之Struts组成
这篇博客我们来说一下Struts的主要组成我们,通过前几篇博客,我们知道这个框架最重要的几个步骤:获取路径.封装表单.获取转向列表.转向逻辑处理.转向,与此对应的是:ActionServlet.Act ...
- 层层递进Struts1(五)之处理流程
这篇博客我们深入Struts框架执行部分源码,从ActionServlet的process函数开始,看一下其内在的执行过程. 流程图 以下流程图展示的是ActionServlet和RequestPro ...
- Hadoop化繁为简(二)—层层递进轻松入门hdfs
层层递进-解开hdfs的面纱 1.hdfs是什么?它与普通服务器的文件系统有什么区别?它的特性有什么? 2.hdfs的工作原理是怎样的? 3.每台机器都单独启动有什么弊端?假设有1000台机器需要启动 ...
- 啊哈算法第四章第三节 层层递进-广度优先搜索 java实现
package corejava; public class FourThree { static int [][]a=new int[50][50]; static int [][]b=new in ...
- 层层递进——宽度优先搜索(BFS)
问题引入 我们接着上次“解救小哈”的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLian/p/74296 ...
- 四种方式带你层层递进解剖算法---hash表不一定适合寻找重复数据
一.题目描述 找出数组中重复的数字 > 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次. ...
- 0基础算法基础学算法 第八弹 递归进阶,dfs第一讲
最近很有一段时间没有更新了,主要是因为我要去参加一个重要的考试----小升初!作为一个武汉的兢兢业业的小学生当然要去试一试我们那里最好的几个学校的考试了,总之因为很多的原因放了好久的鸽子,不过从今天开 ...
随机推荐
- Python:模块引用
#!/usr/bin/python3 #Filename function.py #导入模块 import sys #导入function.py#function.py 文件import functi ...
- 生产者与消费者(二)---await与 signal
前面阐述了实现生产者与消费者问题的一种方式:wait() / notify()方法,本文继续阐述多线程的经典问题---生产者与消费者的第二种方式:await() / signal()方法. await ...
- android按行读取文件内容的几个方法
一.简单版 import java.io.FileInputStream; void readFileOnLine(){ String strFileName = "Filename.txt ...
- GPS定位学习笔记
********************************* GPS定位简介 ********************************** 1. iOS SDK提供两个框架来实现位置服务 ...
- ASP.NET MVC轻教程 Step By Step 12——客户端验证
前面两节使用的两种数据验证方法都是在服务器端进行的,也就是提交了表单,数据回传给服务器才能验证.这样会带来两个问题,一是用户体验不好,用户提交了表单之后才知道存在问题:二是会给服务器带来额外的压力.我 ...
- 小A老空调需求管理小记
1. 关注一个动作的流程和内容 比如登录,我需要提供的是登录接口,但是登录是否只是一个动作?一个动作一定不完整,还应该包括动作的内容和步骤(流程),这里有两个问题:就是落地和把问题想复杂了:其实登录还 ...
- 完美方案——iOS的WebView自适应内容高度
/////////////////////////////初始化,self.view是父控件///////////////////////////////// _webView = [[UIWebVi ...
- [HDOJ 5183] Negative and Positive (NP) 【Hash】
题目链接:HDOJ - 5183 题目分析 分两种情况,奇数位正偶数位负或者相反. 从1到n枚举,在Hash表中查询 Sum[i] - k ,然后将 Sum[i] 加入 Hash 表中. BestCo ...
- Musical Theme
poj1743:http://poj.org/problem?id=1743 题意:题意抽象出来就是给你一个序列,然后找一个长度不少于5的没有重复的等差数列. 题解:每相邻的两个数做差,然后转化成求字 ...
- C语言嵌入式系统编程修炼之二:软件架构篇
模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求.C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行 ...