最近在学J2EE之J2EE的MVC

为什么需要MVC技术:
大多数复杂应用需要使用几种不同的方式查看和操作数据:对数据显示所作的任何修改,都需要在所有相关位置进行
当数据操作逻辑、格式化和显示代码同用户事件处理混杂在一起的时候,应用维护变得非常困难,特别是在时间跨度非常大的情况下的副作用



如果应用逻辑已经同现有界面的代码混合在一起,用户界面就不能被重新利用
增加功能要求对现有的代码进行多处修改,而这些需要修改的位置很难发现
对单独一段代码进行修改会造成深远的副作用

Web应用具有非常复杂的用户交互模型:若干不同的表单向同一个页面发送数据,或同一个表单中的数据需要发送到不同的页面中
Web应用需要支持国际化语言环境,且具有许多不同的视图

MVC技术:
把多个组件集成到一起,相互合作,协调一致的进行工作
模型:封装应用数据(关系数据库或EJB),处理商业逻辑
视图:呈现给用户的界面(JSP或应用GUI)
控制器:接受用户动作,并对应用数据进行适当的处理(Servlet)

优势之最大一个:
Ability to react to changes:
Can change the user interface without impacting business logic, for example, change the text field to a list of choices.
Can change the business logic without impacting the UI, for example, tax laws change every year, but UI is still amount owed or refunded.
Can move location of data without impacting the UI or business logic, for example, migrate from test system to production.
Make it easy to incorporate new technologies
Be able to support different types of clients

从Servlet调用JSP的方法:
1. 重定向:
resp.sendRedirect(“/DateDisplay.jsp”);
低效率——要求客户机再发出另一个HTTP请求
2. RequestDispatcher机制:
利用ServletContext
posted @ 2009-06-12 19:54  happyue  阅读(303)  评论(0编辑  收藏  举报