注:本文并不讲解Struts框架,只研究这种思想的使用 JavaEE中的MVC(五)定制Struts--Action跳转Jsp 在讲这个之前,先给你们看一下我服务器1.0版本的截图,是不是很可笑,看起来乱七八糟,这里应该有有一万个Servlet吧?o(∩_∩)o 哈哈. 生活中,医院分为很多科室,如果病人进医院就直接找科室,那医院肯定乱套了,所以呢,医院有个挂号的地方,看什么病就挂什么号.而我们Servlet的业务那么多,我们可不可以像医院挂号这样?只保留一个Servlet,作为中央控制器,要选…
在JavaEE中的MVC(三)中,我在Servlet中引入了命令模式的使用,采用Xml配置的方式,实现了一个Servlet调用多个不同的Action类,但是还不能实现页面地跳转,这一篇博客从之前的代码上,进一步地封装,实现Action跳转Jsp的功能,并且介绍一下如何将我们客户端的参数,传给我们的Action. 注:本文并不讲解Struts框架,只研究这种思想,研究如何实现Struts框架的封装 JavaEE中的MVC(三)定制Struts--命令模式 改进思路 我们要想办法解决这些问题: Ac…
咱们来吹牛,JDK的动态代理在AOP(Aspect Oriented Programming,面向切面编程)中被称为AOP代理,而AOP是Spring框架中的重要组成部分. 代理模式 但是什么是代理模式?这个模式讲起来,真的很绕. 我的书本是这么介绍的:代理对象可以在客户和目标之间起到中介作用,去掉客户端不能看到的内容和服务增添客户需要的额外服务: GOF是这么概括的:为其他对象提供一种代理以控制对这个对象的访问. 作为一个语文没怎么及格过的理工科学生的我来讲,一开始确实很难理解他们在说什么--…
最近Android工作实在难找,考虑是不是该转行做Java了,今天开始,花几天的事件,研究一下JavaEE各层优化. 首先是Dao层 增删改方法封装 使用PreparedStatement执行一条Sql语句的流程如下: 首先,Sql语句通常会有这么几种情况: ①更新语句:UPDATE accounts SET pwd=? WHERE (id=?), ②插入语句:INSERT INTO accounts ( pwd, account, addTime) VALUES (?,?,?) ③删除语句:D…
毕竟我的经验有限,这篇文章要是有什么谬误,欢迎留言并指出,我们可以一起讨论讨论. 我要讲的是IOC控制反转,然后我要拿它做一件什么事?两个字:"解耦",形象点就是:表明当前类中需要new一个对象,但是我不想直接去new这个对象,我想通过一些精妙的算法,把这个new好的实例注入给这个类. 需求: 以往在我们写服务器的时候,业务逻辑层(Biz,有些地方叫Service)通常会有个获取Dao的需求,通常情况是从DaoFactory中调用Get方法,获取所需的Dao.而现在我想改变一下想法,按…
MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式(Design Pattern),只是为了解决一类问题而总结出的抽象方法,一种架构模式往往使用了多种设计模式. 要了解MVC.MVP和MVVM,就要知道它们的相同点和不同点.不同部分是C(Controller).P(Presenter).VM(View-Model),而相同的部分则是MV(Model-View). Model&View 这里有一个可…
MVC.MVP和MVVM这些开发模式为了分离视图(View)和模型(Model)而提出来的,直白说就是为了前后端分离. 1. MVC(Model View Controller)模式 MVC是比较直观的架构模式,即用户操作 → View(负责接收用户的输入操作)→ Controller(业务逻辑处理)→  Model(数据持久化)→ View(奖结果反馈给View). MVC使用非常广泛,比如JavaEE中的SSH框架(Struts+Spring+Hibernate)..NET中的ASP.NET…
今天的博客中就来系统的整理一下“命令模式”.说到命令模式,我就想起了控制台(Console)中的命令.无论是Windows操作系统(cmd.exe)还是Linux操作系统(命令行式shell(Command Line Interface shell ,即CLI shell)都有命令行程序.说白了就是你输入你要执行的命令提示符,然后计算机就还是根据你所下达的命令来执行.你最终看到的是命令执行后的结果,具体的执行细节不需要你一步步的去下达命令.(与之前博客保持一致,我们仍然使用Swift语言来进行实…
在前面加上 谈到命令,大部分的人脑海中会想到以下这幅画面   这在现实生活中是一副讽刺漫画,做决定的人不清楚运行决定的人有何特点,瞎指挥.外行领导内行说的就是这样的.只是在软件设计领域,我们显然要为这样的现象正名了,让狮王能记住全部属下的特点并直接打电话通知任务.显然是为难他了,领导们非常忙.这是秘书处的工作.狮王仅仅要做出指示"近期鼠患猖獗.该抓抓了",那秘书们就要起草红头文件(命令)并发给相关运行部门(猫),各司其职提高效率,公布请求的(秘书处)和运行请求的(猫)分离开来,将行为(…
一.定义 定义:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化.对请求排队或记录请求日志,以及支持可撤消的操作. 主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录.撤销或重做.事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适. 何时使用:在某些场合,比如要对行为进行"记录.撤销/重做.事务"等处理,这种无法抵御变化的紧耦合是不合适的.在这种情况下,如何将"行为请求者"与"行为…