strutsmvc:用Struts开发基于MVC的Web应用

  MVC介绍

  MVC模式是种非常理想化设计模式应用MVC模式完成两个以上项目人都有同样体会他们已经对以前工作思路方法进行了彻底改造工作模式改变要付出痛苦代价但现在你有现成技术架构可以采用避免在项目中自己开发、摸索它就是开源Apache Struts framework它提供了实现MVC设计模式最好实现工具

  在本文中我们将简单了解、体会下模型-视图-控制器(MVC)设计模式特别地我们来看看如何用Struts架构来完美地实现MVC模式我们先从理论上简单地描述MVC模式然后用我们个简单例子来实现我们自己MVC架构在对MVC模式有了了解后我们用Struts来看这个新技术是如何帮助我们迅速、简单地创建基于MVCWeb应用

  模型-视图-控制器(Model-View-Controller)模式

  MVC模式最早是在Smalltalk(种面向对象语言)这种语言设计中被提出来我们暂时先忽略它历史集中注意力在关注它怎样被应用在Web应用开发中

  当JavaServlets技术最开始出现时候员们立刻意识到这是项极其有用技术和同时代CGI Web开发技术相比Servlets更快更灵活更可靠更强大然而开发基于Servlets技术Web应用有个巨大缺陷--需要使用例如out.prln的类语句来输出浏览器识别HTML频繁使用这个思路方法是个倾向开发极其浪费时间(员需要经常退出所有应用进行重新编译)并且这也使修改Web页面工作也变得很困难Web表现和逻辑在堆令人恐惧代码中掺乎在

  于是作为解决思路方法JavaServer Pages(JSP)出现了它们将Servlets变成它们运行结果应用JSP技术我们将业务逻辑用系列夹杂在HTML中<%>标识来表达以开发JSP为核心应用尽管比以Servlet为核心应用有进步但看起来仍然是杂乱无章仍然需要用额外代码来控制应用页面流转在充满格式化代码JSP页面上没有地方来增加这样额外控制代码显然需要寻找别出路

  不久人们认识到同时应用JSP和Servlets两种技术开发Web应用是种不错选择毕竟Servlets擅长处理业务逻辑编程处理请求控制功能页面流转而JSP则是格式化请求处理结果通过浏览器获得用户输入这种工作机制后来变成了人们长说Model2(用JSP或Servlets中单独种实现web应用被称做Model 1).

  Model 2不是项革命性新模式其实它是来自于Smalltalk语言研发过程中出现MVC模式大多数情况下Java员趋向于可完全互换地使用这两个名词

  什么是MVC模式?

  此前我们已对MVC在开发基于Java技术Web应用中使用历史有了初步了解现在让我们来看看这种模式细节本节中我们来准确地了解下Models、Views、Controllers确切含义它们实现任务以及如何利用它们实现个简单MVC框架我们先来看看Model、View、Controller是如何交互工作

  图SM01

  .length < 1 ) {
  errors.add("pw", ActionError("error.pw.required"));
 }
  errors;
}  可以看到action检查用户在username、password是否输入了"sam"、"password"如果输入正确action指明要个view

Tags:  struts2web.xml struts2mvc strutsmvc

延伸阅读

最新评论

发表评论