MVC:模型,视图,控制器,是一种软件设计规范,本质是将业务逻辑,数据,显示,分离的方式来编写代码;前后端分离
Model:数据模型,提供要展示的数据,一般我们都会把这两个分离开来。数据Dao,服务层Service
View:负责进行数据的渲染和展示,客户端想要看到的东西
Controller:接收用户请求,交给Model处理,从Model更新后的数据或者结果,返回给前端
在早期 Java Web 的开发中,统一把显示层、控制层、数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1
Model1的弊端
因为Model1的种种弊端,所以很快这种方式就被 Servlet + JSP + Java Bean 所替代了,首先用户的请求会到达 Servlet,然后根据请求调用相应的 Java Bean,并把所有的显示结果交给 JSP 去完成,这样的模式我们就称为 MVC 模式
controller(控制器)
取得表单的数据
调用业务的逻辑方法
Model(模型)
View(视图)
SpringMVC 是 Spring的一部分,是基于Java实现的MVC的轻量级Web框架
SpringMVC优点
趋势,使用的人多
简单,易学,轻量级
高效,基于请求和响应的MVC框架
约定优于配置
功能强大:RestFul,数据验证,格式化,主题,本地化,异常处理......
1 <dependencies> 2 <!--junit包单元测试--> 3 <dependency> 4 <groupId>junit</groupId> 5 <artifactId>junit</artifactId> 6 <version>4.11</version> 7 <scope>test</scope> 8 </dependency> 9 10 <!-- Spring MVC 及 Spring系列包 --> 11 <dependency> 12 <groupId>org.springframework</groupId> 13 <artifactId>spring-webmvc</artifactId> 14 <version>4.3.24.RELEASE</version> 15 </dependency> 16 17 <!--Servlet核心--> 18 <dependency> 19 <groupId>javax.servlet</groupId> 20 <artifactId>javax.servlet-api</artifactId> 21 <version>4.0.1</version> 22 </dependency> 23 24 <!-- JSTL --> 25 <dependency> 26 <groupId>javax.servlet</groupId> 27 <artifactId>jstl</artifactId> 28 <version>1.2</version> 29 </dependency> 30 </dependencies> 31 32 <build> 33 <!--解决资源导出问题--> 34 <resources> 35 <resource> 36 <directory>src/main/java</directory> 37 <includes> 38 <include>**/*.properties</include> 39 <include>**/*.xml</include> 40 </includes> 41 <filtering>false</filtering> 42 </resource> 43 <resource> 44 <directory>src/main/resources</directory> 45 <includes> 46 <include>**/*.properties</include> 47 <include>**/*.xml</include> 48 </includes> 49 <filtering>false</filtering> 50 </resource> 51 </resources> 52 </build>
映射路径为 / 【不要用/*,会404】
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 5 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 6 id="WebApp_ID" version="3.0"> 7 8 <!--1.注册DispatcherServlet--> 9 <servlet> 10 <servlet-name>SpringMVC</servlet-name> 11 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 12 13 <!--2.关联SpringMVC配置文件--> 14 <init-param> 15 <param-name>contextConfigLocation</param-name> 16 <param-value>classpath:springmvc-servlet.xml</param-value> 17 </init-param> 18 19 <!--3.这个东西要和服务器一起启动--> 20 <load-on-startup>1</load-on-startup> 21 </servlet> 22 23 <servlet-mapping> 24 <servlet-name>SpringMVC</servlet-name> 25 <url-pattern>/</url-pattern> 26 </servlet-mapping> 27 28 </web-app>
在resources下创建springmvc-config.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:mvc="http://www.springframework.org/schema/mvc" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xsi:schemaLocation=" 7 http://www.springframework.org/schema/beans 8 https://www.springframework.org/schema/beans/spring-beans.xsd 9 http://www.springframework.org/schema/context 10 https://www.springframework.org/schema/context/spring-context.xsd 11 http://www.springframework.org/schema/mvc 12 https://www.springframework.org/schema/mvc/spring-mvc.xsd"> 13 14 <!--扫描指定包下的注解,让指定的类能够被IOC容器管理--> 15 <context:component-scan base-package="com.shandx.controller"/> 16 17 <!--静态资源过滤--> 18 <mvc:default-servlet-handler/> 19 20 <!--MVC注解驱动--> 21 <mvc:annotation-driven/> 22 23 <!--视图解析器--> 24 <bean id="InternalResourceViewResolver" 25 class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 26 <!-- 前缀 --> 27 <property name="prefix" value="/WEB-INF/"/> 28 <!-- 后缀 --> 29 <property name="suffix" value=".jsp"/> 30 </bean> 31 </beans>
原文:https://www.cnblogs.com/tqsh/p/11298673.html