Java中Model1和Model2
来源:互联网 发布:淘宝怎么收钱 编辑:程序博客网 时间:2024/05/22 16:50
Model1和Model2是java web的两种架构模式。这两种模式各有优缺点,都有各自适合使用的场景。
Model1
首先,从分层的角度说,Model1模式可以看作是由两层组成:视图层和模型层。
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><%@ page import="com.bjpowermode.drp.sysmgr.*"%><%@ page import="com.bjpowermode.drp.domain.*"%><%//取得参数String command=request.getParameter("command");String userId=request.getParameter("userId");//调用业务逻辑中的查询用户代码是否存在的方法User user=UserManager.getInstance().findUserById(userId);//点击修改if("modify".equals(command)){//User user=new User();user.setUserId(request.getParameter("userId"));user.setUserName(request.getParameter("userName"));user.setPassword(request.getParameter("password"));user.setContactTel(request.getParameter("contactTel"));user.setEmail(request.getParameter("email"));//调用业务逻辑中的修改用户的方法UserManager.getInstance().modifyUser(user);System.out.println("修改成功");} %>
可以看出,model1是以jsp为中心的,在jsp页面调用了很多业务逻辑的方法。在例子中,我们选择一个用户,点击修改,就将数据提交到了jsp对象中。然后在jsp去调修改用户的方法,执行数据库操作,最后返回结果。这种模式让我想起了在没有用三层之前,
Model2
/** * 修改物料Servlet * @author Administrator * */public class ModifyItemServlet extends AbstractItemServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//构造表单数据String itemNo=request.getParameter("itemNo");String itemName=request.getParameter("itemName");String spec=request.getParameter("spec");String pattern=request.getParameter("pattern");String category=request.getParameter("category");String unit=request.getParameter("unit");//构造Item对象Item item=new Item();item.setItemNo(itemNo);item.setItemName(itemName);item.setSpec(spec);item.setPattern(pattern);//构造物料类别ItemCategory itemCategory=new ItemCategory();itemCategory.setId(category);item.setItemCategory(itemCategory);//构造物料单位ItemUnit itemUnit=new ItemUnit();itemUnit.setId(unit);item.setItemUnit(itemUnit);//调用后台业务逻辑itemManager.modifyItem(item);response.sendRedirect(request.getContextPath()+"/servlet/item/SearchItemServlet");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}}
在例子中,我们在客户端请求修改的命令到servlet,把调用业务逻辑的方法放在ModifyItemServlet中。
小结:
Model1结构简单,容易上手,适合一些小型的项目。但也正是由于他的这个优点,也带来了很大的弊端。他把业务逻辑和表现都杂糅到了一起,使得耦合度大大增加,给维护带来了很大的困难。尤其是在大型的项目中,这点就尤为突出了。Model2弥补了Model1 的缺点,在大型项目开发中,可以更好的做到多人协作开发,互不影响。
0 0
- Java中Model1和Model2
- 浅析Java开发中的Model1和Model2
- 【Java架构学习】Model1和Model2讨论
- 浅析Java开发中的Model1和Model2
- java中的model1和model2比较
- Java Web的Model1和Model2简介
- JAVA开发中的Model1和Model2模型
- Java Web---Model1&Model2
- Model1、Model2和三层
- Model1和Model2区别
- model1和model2
- 【JavaWeb】Model1和Model2
- 【java web】--JSP model1和model2的联系和区别
- Jsp Model1和Jsp Model2
- Model1和Model2的区别
- Model1和Model2设计模式
- Jsp Model1和Jsp Model2
- Model1和Model2的区别
- Manarcher 求 字符串 的最长回文子串 【记录】
- 批量修改文件权限
- 杭电2112HDU Today(map 最短路径)
- 洛谷1017 进制转换
- 算法竞赛入门经典:第七章 暴力求解法 7.7解答树
- Java中Model1和Model2
- escape、encodeURI 和 encodeURIComponent 的区别(解决乱码的函数)
- iOS - tips 持续更新
- 【web】 request传入后台 中文乱码问题
- Java修饰符关键词
- 指定域转换规则
- Android Drawable和Bitmap区别
- 01背包及其优化
- bat命令