什么是MVC?

经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
image.png

MVC - Helloworld

springMVC是基于spring的,所以需要对应的依赖,web项目。
pom.xml文件配置

  1. <packaging>war</packaging>
  2. <properties>
  3. <spring.version>5.2.9.RELEASE</spring.version>
  4. </properties>
  5. <dependencies>
  6. <!-- 依赖spring-webmvc -->
  7. <dependency>
  8. <groupId>org.springframework</groupId>
  9. <artifactId>spring-webmvc</artifactId>
  10. <version>${spring.version}</version>
  11. </dependency>
  12. <!-- JSP-API的依赖 -->
  13. <dependency>
  14. <groupId>javax.servlet.jsp</groupId>
  15. <artifactId>jsp-api</artifactId>
  16. <version>2.2</version>
  17. <scope>provided</scope><!-- ??? -->
  18. </dependency>
  19. <!-- servlet-api依赖 -->
  20. <dependency>
  21. <groupId>javax.servlet</groupId>
  22. <artifactId>javax.servlet-api</artifactId>
  23. <version>4.0.1</version>
  24. <!-- jar文件不会打包到工程中 -->
  25. <scope>provided</scope>
  26. </dependency>
  27. </dependencies>
  28. <build>
  29. <plugins>
  30. <!-- maven内置 的tomcat7插件 -->
  31. <plugin>
  32. <groupId>org.apache.tomcat.maven</groupId>
  33. <artifactId>tomcat7-maven-plugin</artifactId>
  34. <version>2.2</version>
  35. <configuration>
  36. <!-- 可以灵活配置工程路径 -->
  37. <path>/</path>
  38. <!-- 可以灵活配置端口号 -->
  39. <port>8080</port>
  40. </configuration>
  41. </plugin>
  42. </plugins>
  43. </build>

在web.xml文件中配置

<!-- 前端控制器(核心控制器) -->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <!-- springMVC的配置文件的位置 -->
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>