Spring mvc属于表现层的框架,它是Spring框架的一部分
springmvc就是对Servlet的封装
springMVC是spring的一个组件/模块,springMVC是属于spring。类似于spring里面的其他模块:
比如:(1)bean (2)tx:事务管理 (3)AOP
SSM–>spring+springMVC+Mybatis
Ssh–>structs2+spring+hibernate
Spring(整个系统架构的对象)+springMVC+HIbernate—?行不行?能不能整合?
Spring+springMVC+JBDC?–>行不行?
SSM框架使用得比ssh多得多。
Mybatis是一个轻量的半自动持久化框架。–需要开发sql。
springmvc 属于spring FrameWork的一部分,就是一个模块
【不需要程序员开发,是springMVC框架提供,需要配置】
SpringMVC的核心
。它是springMVC的大脑,或者CPU。
SpringMVC通过dispatcherServlet与映射器处理,适配器处理器,视图解析器进行交互,降低了系统的耦合度。映射器处理,适配器处理,视图解析器可以独立的发展/配置。
配置:servlet。—》在web.xml中配置。
配置的目的:让所有的请求,首先访问dispatcherServlet 前端控制器。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 表示容器在启动时立即加载servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
【不需要程序进行开发,需要配置】
非注解:
BeanNameUrlHandlerMapping:根据name与路径进行映射,找到对应的handler.4
<!--处理器 映射器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--处理器-->
<bean name="/hello.do" class="cn.happy.day01.FirstController"></bean>
SimpleUrlHandlerMapping :根据映射的key与路径进行映射,然后使用value与handler进行映射。
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/welcome.htm">welcomeController</prop>
<prop key="/*/welcome.htm">welcomeController</prop>
<prop key="/helloGuest.htm">helloGuestController</prop>
</props>
</property>
</bean>
<bean id="welcomeController"
class="com.mkyong.common.controller.WelcomeController" />
<bean id="helloGuestController"
class="com.mkyong.common.controller.HelloGuestController" />
注解:
RequestMappingHandlerMapping
<!-- 注解的映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
配置:
(1)在springMVC的配置文件中配置。
默认:springMVC的配置文件在WEB-INF/下面,springmvc-servlet.xml。
(2)配置映射器处理器。
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
(3)处理器
<bean name="/hello.do" class="cn.happy.day01.FirstController"></bean>
请求路径-> /hello.do
非注解:【了解】
SimpleControllerHandlerAdapter
HttpRequestHandlerAdapter
注解:
RequestMappingHandlerAdapter
<!-- 注解的适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
配置:
(1)在springMVC的配置文件中配置。
处理器适配器–适配对应规则的handle/controller。
SimpleControllerHandlerAdapter–规则是:要求所有的handler类实现Controller。
HttpRequestHandlerAdapter–规则是:要求所有的handler类必须实现HttpRequestHandler
RequestMappingHandlerAdapter。
(2)在springMVC的配置文件中添加下面的信息。
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
【需要程序员开发】
根据配置的适配器处理器不同,开发方式不同。
【需要开发】
包含Model和View。Model就是页面的数据,View就是显示页面。
View是有很多种类型的:Jsp,Excel,word,pdf 。。。
在开发过程中视图通常是jsp。所以我们要配置的视图解析器,就是JSP的视图解析器,–用于解析JSP视图和model,将model填充到视图里面去。
【不需要程序员开发,只需要配置】
配置:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" />
</bean>