`
zisefeiniao
  • 浏览: 168405 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

学习到了MLDN中心的MVC设计模式

阅读更多
今天接触到了MVC设计模式,把Servelt、jsp、java bean的关系也搞清楚了一些,但是这样的开发代码总觉得很麻烦,跟以前学习到的设计思路并不是很熟悉,搜索了下网上的资料,好象只有MLDN是这样设计MVC的,到底什么原因,有什么好处还不是很明白,只是觉得这样开发的代码结构性比较强,而且李老师也说了,这样的设计思路必须形成,形成之后才会懂得以后的框架有那些用处。我会努力学习明白的,第一个项目应该快开始了,有李老师的支持,我想没问题的。加油。把Servelt、jsp、java be
还有,总结了一下前几天面试的问题,发现,实在的程序员确实懂的要很多,要想成为独当一面的综合型人才,也要懂很多,加油吧,多学习,多努力,为成功插上翅膀。

MVC设计模式
一、什么是MVC设计模式

代码总觉得很麻烦,跟以前学习到的设计思路
M:Model,指的是后台数据库操作部分,使用DAO设计模式完成
V:View,主要负责页面的显示,使用JSP进行展示
C:Controller,负责参数接收、调用DAO操作数据库、设置属性、处理业务逻辑、控制页面跳转等功能,依靠Servlet实现

今天接触到了MVC设计模式,
MVC设计思想
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。an的关系也搞清楚了一些,但是这样的开发
  模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。
  业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。
  控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

代码总觉得很麻烦,跟以前学习到的设计思路

二、MVC设计模式的开发过程

1、DAO设计代码总觉得很麻烦,跟以前学习到的设计思路
2、默认首页的设计,根据首页的内容一一去实现去功能
3、JSP(页面显示)  Servlet (控制操作) JSP (显示)  Servlet(控制) JSP(显示)。。。

三、Servlet部分的实现并不是很熟悉,搜索了下网上的资料,好象只
1、创建一个Servlet类,建立Servlet需要继承HttpServlet类

2、将建立的 Servlet配置到web.xml中an的关系也搞清楚了一些,但是这样的开发

注意修改Mapping URL的映射路径

例如:MVC_Servlet_DAO_JSP项目中建立了LoginServlet类和EmpServlet类,其配置如下:an的关系也搞清楚了一些,但是这样的开发
  <servlet>
    <description>loginServlet</description>
    <display-name>login</display-name> 今天接触到了MVC设计模式,
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>mldn.lin.servlet.LoginServlet</servlet-class>
  </servlet>an的关系也搞清楚了一些,但是这样的开发
  <servlet>
    <description>empServlet</description>
    <display-name>emp</display-name>把Servelt、jsp、java be
    <servlet-name>EmpServlet</servlet-name>
    <servlet-class>mldn.lin.servlet.EmpServlet</servlet-class>
  </servlet>

把Servelt、jsp、java be


  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name> 今天接触到了MVC设计模式,
    <url-pattern>/LoginServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>an的关系也搞清楚了一些,但是这样的开发
    <servlet-name>EmpServlet</servlet-name>
    <url-pattern>/EmpServlet</url-pattern>
  </servlet-mapping>

并不是很熟悉,搜索了下网上的资料,好象只
Servlet配置解释:
<!-- 配置编写好的一个Servlet -->
<servlet> 今天接触到了MVC设计模式,
  <!-- 定义一个临时的名称,多个Servlet时不能重名 -->
  <servlet-name>testServlet</servlet-name>
  <servlet-class>org.liky.servlet.TestServlet</servlet-class>并不是很熟悉,搜索了下网上的资料,好象只
</servlet>
<!-- 为Servlet配置虚拟路径 -->
<servlet-mapping> 今天接触到了MVC设计模式,
  <!-- 为哪个Servlet配置映射路径 -->
  <servlet-name>testServlet</servlet-name>
  <!-- 表示访问该Servlet的虚拟路径,/表示从WebRoot下开始的绝对路径 -->把Servelt、jsp、java be
  <url-pattern>/test.servlet</url-pattern>
</servlet-mapping>

该映射路径可以随意修改,因此可以通过修改此处的后缀名来隐藏JSP开发的方式。例如改成 /test.asp冒充asp开发的

并不是很熟悉,搜索了下网上的资料,好象只

3、编写Servlet类的两个方法

//当表单的提交方式为get时,将自动调用该方法 代码总觉得很麻烦,跟以前学习到的设计思路
public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  this.doPost(request, response);代码总觉得很麻烦,跟以前学习到的设计思路
 
}

//当表单的提交方式为post时,将自动调用该方法an的关系也搞清楚了一些,但是这样的开发
public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  // 1、接收参数把Servelt、jsp、java be
 
  // 2、调用数据库操作
  try {并不是很熟悉,搜索了下网上的资料,好象只
   Map allMgr = DAOFactory.getEmpDAOInstance().findAll();
   Map allDept = DAOFactory.getDeptDAOIntance().findAll();
   把Servelt、jsp、java be
   // 3、处理业务逻辑
  
   // 4、将属性设置到request范围代码总觉得很麻烦,跟以前学习到的设计思路
   request.setAttribute("allMgr", allMgr);
   request.setAttribute("allDept", allDept);
   an的关系也搞清楚了一些,但是这样的开发
   // 5、服务器端跳转,跳转到页面(insert.jsp)
   request.getRequestDispatcher("insert.jsp").forward(request, response);
  } catch (Exception e) {代码总觉得很麻烦,跟以前学习到的设计思路
   // TODO Auto-generated catch block
   e.printStackTrace();
  } 今天接触到了MVC设计模式,
 
}

4、JSP页面显示an的关系也搞清楚了一些,但是这样的开发
JSP页面只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

分享到:
评论
1 楼 alang 2009-04-26  
今天接触到了MVC设计模式,

复制的代码中老是这个东西。以后不要直接复制别人的东西。

相关推荐

Global site tag (gtag.js) - Google Analytics