J2EE设计模式——MVC

原创 2015年07月10日 20:35:32

MVC即把交互系统分为模型、视图、控制器三部件,其中:
(1)模型:业务的流程、状态的处理、业务规则的制定
(2)视图:用户界面
(3)控制器:接受用户请求,分配合适的模型和视图
在Java Web中,模型由JavaBean充当,View由JSP充当,Servlet负责控制器。当然MVC增加了系统结构和实现的复杂性,而之后介绍的SSH框架将会简化这种复杂性,但首先必须学会MVC的思想。

这里写图片描述

//一个MVC登陆案例:

/** Login.jsp */
<form action="LoginConf" method="post">
<table>
    <tr>
        <td>用户名:</td>
        <td><input type="text" name="uname"></td>
    </tr>
    <tr>
        <td>密码:</td>
        <td><input type="password" name="upassword"></td>
    </tr>
    <tr>
        <td><input type="submit" value="登陆"></td>
    </tr>
</table>

/**登陆失败成功页面Login_success.jsp*/
<%
    if(session.getattribute("login")!=null && session.getattribute("login").equals(true)){
%>
<h2>登陆成功</h2>
<%
    }else{
%>
    <jsp:forward page="Login.jsp"></jsp:forward>
<%
    }
%>


/**失败页面Login_failure.jsp*/
<h2>登录失败</h2>

/**业务逻辑组建LoginCheck.java */
public boolean isLogin(String username,String password){
    if("James".equals(username)&&("123456").equals(password)){return true;}
    else{return false;}
}

/**Servlet控制器,接受参数,调用模型,视图*/

public class LoginConf extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServeltResponse response)throws ServletException,IOException{
        String username = request.getParameter("uname");
        String password = request.getParameter("upassword");
        //获取session对象
        HttpSession session = request.getSession();
        //new一个Logincheck对象
        LoginCheck lc = new LoginCheck();
        //调用业务逻辑组件判断功能
        if(lc.isLogin(username,password)){
            //合法,则添加login属性,并跳转到login.jsp
            session.setAttribute("login","true");
            request.getRequestDispatcher("Login_success.jsp").forward(request,response);
        }else{
        //非法,转到登录失败页面
request.getRequestDispatcher("Login_failure.jsp").forward(request,response);
        }
    }
public void doPost(...){
        doGet(request, response);
    }
}


//web-xml配置文件如下:
<servlet>
    <servlet-name>LoginConf</servlet-name>
    <servlet-class>com.yl.test.LoginConf</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginConf</servlet-name>
    <url-pattern>/LoginConf</url-pattern>
</servlet-mapping>
版权声明:本文为博主原创文章,未经博主允许不得转载。

【J2EE】:MVC是框架?是设计模式?是架构?还是……

上篇博客简单聊了聊MVC模式,但是有一个很重要的问题我没有提到,那就是对MVC的定位,它是什么? 很多人都知道MVC,都知道就是把将数据和显示分离,知道Model—View—Controller,...
  • u010929604
  • u010929604
  • 2016年03月14日 07:58
  • 3660

j2ee常用的设计模式

总共23种,分为三大类:创建型,结构型,行为型 我只记得其中常用的6、7种,分别是: 创建型(工厂、工厂方法、抽象工厂、单例) 结构型(包装、适配器,组合,代理) 行为(观察者,模版,策略) 然后再针...
  • u012927417
  • u012927417
  • 2014年08月06日 13:36
  • 3202

J2EE框架(四)核心设计模式

这一章主要讲两种设计模式:建造者设计模式和工厂设计模式,这两种设计模式在持久层框架基本上都是一起出现,建造者用于加载资源为工厂做好准备,工厂专门用来生产具体对象。这里的资源往往是框架开放给用户自定义的...
  • cd_cd
  • cd_cd
  • 2017年12月21日 16:40
  • 96

J2EE中的几种常用设计模式

介绍4种常用的设计模式: 1.业务委托模式:表示层组件将与业务层服务交互。这样,业务层改变会使表示层也需要改变。业务委托模式可以解决这个问题。 业务委托模式的目的就是减少表示层和业务层的耦合,隐藏...
  • guoxuepeng123
  • guoxuepeng123
  • 2012年08月10日 00:12
  • 1577

j2ee常用的设计模式?说明工厂模式

Java中的23种设计模式:Factory(工厂模式),Builder(建造模式),Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式),F...
  • v_fei
  • v_fei
  • 2007年11月28日 09:36
  • 1317

J2EE 中的几种常用模式?及对设计模式的一些看 法

Session Facade Pattern:使用 SessionBean 访问 EntityBean; Message Facade Pattern:实现异步调用; EJB Command Pa...
  • uniquewonderq
  • uniquewonderq
  • 2015年06月09日 20:53
  • 1456

j2ee三层架构和MVC的区别

首先说三层架构: UI(.aspx)---------> BLL(业务处理)------> DAL(数据处理)----> 永久存储(数据库)  MVC: MVC(Model View Con...
  • waj89757
  • waj89757
  • 2013年03月18日 13:31
  • 2750

J2ee项目从0搭建(六):Spring MVC集成

一、pom.xml中配置依赖jar: org.springframework spring-webmvc 二、web.xml:需要配置及来对请求进行拦截,具体参数如下:...
  • u010246789
  • u010246789
  • 2016年06月05日 20:13
  • 1436

J2EE之DAO设计模式及简单实现

JAVAEE(Java Enterprise Edition ) 模式 : DAO模式 因此在了解DAO模式之前,我们先来学习一下Java EE的体系结构: (一)JavaEE体系结构 客户端:...
  • Megustas_JJC
  • Megustas_JJC
  • 2016年12月21日 15:59
  • 704

J2EE中MVC的使用以及优化

MVC的使用在.net项目中已经熟悉,今天学习过程中学到了将MVC使用到JAVA应用程序中,感觉有意思做一下总结。       一、映射J2EE到MVC中     如图是MVC的体系结构:  ...
  • u013047584
  • u013047584
  • 2016年03月22日 19:10
  • 920
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2EE设计模式——MVC
举报原因:
原因补充:

(最多只允许输入30个字)