MVC设计模式
-
视图(View)-对应组件:JSP或者HTML文件
-
控制器(Controller)-对应组件:Servlet
-
模型(Model) -对应组件:JavaBean
三层:表示层、业务逻辑层、数据访问层
MVC与三层:
表示层:V C
业务逻辑层、数据访问层 : M
MVC 优点
-
MVC 优点
-
多视图共享一个模型,大大提高代码的可重用性
-
MVC三个模块相互独立,松耦合架构
-
控制器提高了应用程序的灵活性和可配置性
-
有利于软件工程化管理
-
完美的系统架构 = 松耦合+高重用性+高扩展性
-
-
-
MVC 缺点
-
原理复杂
-
增加了系统结构和实现的复杂性
-
视图对模型数据的低效率访问
-
Spring MVC
-
结构最清晰的MVC Model2实现
-
Controller
-
ModelAndView
maven创建war
导入jar包
<properties> <spring.version>5.3.6</spring.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> </dependencies>
在web.xml中配置DispatcherServlet
<!-- Spring MVC配置 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
Spring MVC的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--注解驱动控制器-->
<context:component-scan base-package="com.zking.ssm.controller"/>
<!--注册RequestMapping,RequestAdapter-->
<mvc:annotation-driven/>
<!-- 完成视图的对应 -->
<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
创建Controller
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/") public class HelloController { @RequestMapping("/hello") public String hello(){ return "hello"; } }
创建View-JSP
创建在WEB-INF/jsp/hello.jsp
<body> hello spring mvc </body>