MVC模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,

用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,

在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC 是 Model-View-Control 的简称,即模型-视图-控制器。它是一个存在于服务器
表达层的模型,它将应用分开,改变应用之间的高度耦合。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。包括Service层和Dao层,通常模型对象负责在数据库中存取数据。

 1     public void update(AdminBean adminBean) {
 2         // TODO Auto-generated method stub
 3         String sql = "update admin set username='" + adminBean.getUsername() + "',password='" + adminBean.getPassword()
 4                 + "' where id='" + adminBean.getId() + "'";
 5         Connection conn = DBUtil.getConn();
 6         Statement state = null;
 7         try {
 8             state = conn.createStatement();
 9             state.executeUpdate(sql);
10         } catch (Exception e) {
11             e.printStackTrace();
12         } finally {
13             DBUtil.close(state, conn);
14         }
15     }
dao层

View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的,比如html静态页面,jsp动态页面。

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="GB18030">
<title>Insert title here</title>
</head>
<body>你好啊
</body>
</html>
html

Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。例:在web.xml中把action同servlet连接起来,控制数据的传递。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd ">
 3   <display-name>HBKJ</display-name>
 4   <!-- 管理员 -->
 5   <servlet>
 6         <!-- servlet-name的值是自定义的,该值要和<servlet-mapping>中的servlet-name的值保持一致 -->
 7         <servlet-name>AdminServlet</servlet-name>
 8         <!-- 配置的servlet的类完全限定名 -->
 9         <servlet-class>com.mysql.jsp.servlet.AdminServlet</servlet-class>
10     </servlet>
11     <servlet-mapping>
12         <servlet-name>AdminServlet</servlet-name>
13         <!-- 访问servlet路径 ,以/开头 -->
14         <url-pattern>/admin/adminServlet</url-pattern>
15     </servlet-mapping>
16     
17     
18          <servlet>
19         <servlet-name>servlettable2</servlet-name>
20         <!-- 配置的servlet的类完全限定名 -->
21         <servlet-class>com.mysql.jsp.servlet.servlettable2</servlet-class>
22     </servlet>
23     <servlet-mapping>
24         <servlet-name>servlettable2</servlet-name>
25         <!-- 访问servlet路径 ,以/开头 -->
26         <url-pattern>/admin/table2/servlet2</url-pattern>
27     </servlet-mapping>
28     
29      <servlet>
30         <servlet-name>servlettable3</servlet-name>
31         <!-- 配置的servlet的类完全限定名 -->
32         <servlet-class>com.mysql.jsp.servlet.servlettable3</servlet-class>
33     </servlet>
34     <servlet-mapping>
35         <servlet-name>servlettable3</servlet-name>
36         <!-- 访问servlet路径 ,以/开头 -->
37         <url-pattern>/admin/table3/servlet3</url-pattern>
38     </servlet-mapping>
39     
40      <servlet>
41         <servlet-name>servlettable4</servlet-name>
42         <!-- 配置的servlet的类完全限定名 -->
43         <servlet-class>com.mysql.jsp.servlet.servlettable4</servlet-class>
44     </servlet>
45     <servlet-mapping>
46         <servlet-name>servlettable4</servlet-name>
47         <!-- 访问servlet路径 ,以/开头 -->
48         <url-pattern>/admin/table4/servlet4</url-pattern>
49     </servlet-mapping>
50     
51     <servlet>
52         <servlet-name>servletcheck</servlet-name>
53         <!-- 配置的servlet的类完全限定名 -->
54         <servlet-class>com.mysql.jsp.servlet.servletcheck</servlet-class>
55     </servlet>
56     <servlet-mapping>
57         <servlet-name>servletcheck</servlet-name>
58         <!-- 访问servlet路径 ,以/开头 -->
59         <url-pattern>/admin/head/servletcheck</url-pattern>
60     </servlet-mapping>
61     
62   <welcome-file-list>
63     <welcome-file>index.html
64         welcome-file
65     </welcome-file>
66     <welcome-file>index.htm</welcome-file>
67     <welcome-file>index.jsp</welcome-file>
68     <welcome-file>default.html</welcome-file>
69     <welcome-file>default.htm</welcome-file>
70     <welcome-file>default.jsp</welcome-file>
71   </welcome-file-list>
72 </web-app>
控制器

mvc模式将三种不同功能的代码块从设计之初就分离开来,代码块高内聚低耦合,模型-视图-控制器三个模块实现了前后端的分离,也就是客户端与服务器端的代码分离,更便于修改更新代码。

原文地址:https://www.cnblogs.com/yeshenfeng/p/12466989.html