码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2之模型驱动及分层架构初识

时间:2014-11-22 09:19:35      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:struts2   ssh   模型驱动   分层架构   面向对象   

一、学习案例:通过在loginUI.jsp页面输入登录账号和密码判断是否正确,正确则跳转到成功页面(success.jsp),错误则返回登录页面(loginUI.jsp)

 

二、案例分析:struts2值传递分为:属性驱动和模型驱动。

a)属性驱动

属性驱动就是在页面通过form表单设置name属性,在表单提交后在action中通过相同的名称属性的变量获取提交值。

	private String username;
	private String password;
	
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

a)模型驱动

模型驱动就是通过指定的对象获取表单提交的值,struts2会自动填充对象,在action中,我们可以直接通过对象获取单个属性值。

注意:使用模型驱动必须实现ModelDriven

	private User user = new User();
	
	public User getModel() {
		return user;
	}

应用分层体系架构初始,大家也了解到分层带来的好处,首先就是逻辑清晰,还有就是协作带来的开发好处。分层开发只能上层调用下层,而下层是不可以调用上层的,同时,下层只会对上层开放接口,这也是面向接口开发带来的好处。

 

d)通过查看API文档大家可以发现ModelDriven使用了泛型,而在泛型中不可或缺地会使用反向代理,关于“反向代理”在此不多做解释,有兴趣地可以去单独查资料,有空时,我也会单独写篇博文讲解。

e)大家要学会思考问题,多动手。比如,模型驱动是通过匹配对象赋值,还是通过匹配属性名称赋值?我就不说答案了。大家可以动手测试。

 

三、经验之谈:

a) Mvc分层可以说是现在项目开发必用的,毕竟一个项目的开发是多人同时协作进行的。分层的优势和好处也是不言而喻的。当然分层的好处对于后期的维护也是很重要的。但在一些小型项目的开发,我们应该根据现实情况来定,不然过多的分层也会影响系统的开发。我的“爱尚合伙人”就抛弃了dao层的处理,毕竟自己开发的该舍也的舍,不然就是自找麻烦。

b) 对于初学者学习ssh而言,框架的庞大和繁琐是很让人头疼。我当初学习ssh的路线是:struts2---->hibernate---->springSsh框架的学习对于大多人来讲都是这样的学习路线。但是这样的学习方式对于初学者来讲也是有一定负面的。比如struts2插件功能的繁琐和标签库的庞大都是很容易让初学者失去耐心的。但在学习了解了hibernate之后,框架的好处才得以体现,这时就会自然而然地让人眼前一亮,框架简单的配置就能省去servlet的繁琐而重复的开发,框架的优势也得以体现。所以框架的学习和掌握是很重要的,我们要耐得住寂寞,多读、多写,等到ssh系统学完,我们就会发现自己已经不知不觉的爱上了它。

c) 属性驱动和模型驱动的优劣:

1、属性驱动灵活,准确。模型驱动不灵活,有时候页面提交过来的参数并不属于    模型中的属性,此时我们要么使用代理对象,要么就使用属性驱动。

2、模型驱动更符合面向对象的编程风格,它可以把离散的值聚合在一起。

 

d) 至于在项目开发中我们要使用哪种方式,其实按情况分。在“爱尚合伙人”的开发 中,一般通用模型驱动,在模型中没有的值,我会用属性驱动单个获取,结合使用 也是很不错的。

 

四、参考项目:http://download.csdn.net/detail/u011638419/8186055

 

五、每日一乐:

男人就是这么奇怪,自己的女人,脱光了他都没反应,

别人的女人,露个乳沟,就流鼻血。

 


最终解释权归爱尚合伙人所有,转载请注明出处。

Struts2之模型驱动及分层架构初识

标签:struts2   ssh   模型驱动   分层架构   面向对象   

原文地址:http://blog.csdn.net/u011638419/article/details/41378515

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!