什么是MVC

什么是MVC

    • 1、什么是MVC
    • 2、代码层面理解
      • (1)pom依赖
      • (2)编写一个Servlet类,用来处理用户的请求
      • (3)编写Hello.jsp,在WEB-INF目录下新建一个jsp的文件夹,新建hello.jsp
      • (4)在web.xml中注册Servlet
      • (5)配置Tomcat,并启动测试
    • 3、小结

1、什么是MVC

MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范,是将业务逻辑、数据、显示分离的方法来组织代码。

MVC主要作用是降低了视图与业务逻辑间的双向偶合。

MVC不是一种设计模式,MVC是一种架构模式


M o d e l Model Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是该模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
V i e w View View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
C o n t r o l l e r Controller Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。

MVC有多种。
最典型的 M V C MVC MVC 就是 J S P + s e r v l e t + j a v a b e a n JSP + servlet + javabean JSP+servlet+javabean 的模式,其实就是刚开始学 j a v a w e b javaweb javaweb 用到的东西。

什么是MVC_第1张图片

2、代码层面理解

一个实现了MVC架构模式的简单javaweb项目(Maven类型的项目)如下图所示。
什么是MVC_第2张图片

(1)pom依赖

填写依赖,让 Maven 自动导入jar包。

<dependencies>
	
   <dependency>
       <groupId>junitgroupId>
       <artifactId>junitartifactId>
       <version>4.12version>
   dependency>
   
   <dependency>
       <groupId>javax.servletgroupId>
       <artifactId>servlet-apiartifactId>
       <version>2.5version>
   dependency>
   
   <dependency>
       <groupId>javax.servlet.jspgroupId>
       <artifactId>jsp-apiartifactId>
       <version>2.2version>
   dependency>
   
   <dependency>
       <groupId>javax.servletgroupId>
       <artifactId>jstlartifactId>
       <version>1.2version>
   dependency>
   <dependency>
        <groupId>taglibsgroupId>
        <artifactId>standardartifactId>
        <version>1.1.2version>
    dependency>
dependencies>

(2)编写一个Servlet类,用来处理用户的请求

package com.workhah.servlet;

// 实现HttpServlet接口
public class HelloServlet extends HttpServlet {
     
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     
       // 取得参数
       String method = req.getParameter("method");
       if (method.equals("add")){
     
           req.getSession().setAttribute("msg","执行了add方法");
      }
       if (method.equals("delete")){
     
           req.getSession().setAttribute("msg","执行了delete方法");
      }
       // 业务逻辑
       // 视图跳转
       req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);
  }

   @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     
       doGet(req,resp);
  }
}

(3)编写Hello.jsp,在WEB-INF目录下新建一个jsp的文件夹,新建hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>Kuangshentitle>
head>
<body>
	${msg}
body>
html>

(4)在web.xml中注册Servlet


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0">
   
   <servlet>
       <servlet-name>HelloServletservlet-name>
       <servlet-class>com.workhah.servlet.HelloServletservlet-class>
   servlet>
   <servlet-mapping>
       <servlet-name>HelloServletservlet-name>
       <url-pattern>/userurl-pattern>
   servlet-mapping>

web-app>

(5)配置Tomcat,并启动测试

localhost:8080/user?method=add
localhost:8080/user?method=delete


3、小结

MVC框架要做哪些事情:

1、将url映射到java类或java类的方法 。
2、封装用户提交的数据 。
3、处理请求–调用相关的业务处理–封装响应数据 。
4、将响应的数据进行渲染 jsp、html 等表示层数据 。

你可能感兴趣的:(SpringMVC,mvc,maven,java,idea,servlet)