深圳网站建设公司pestl分析,中江建设局网站,eyoucms去版权,资深的金融行业网站开发SpringMVC 概述#xff1a; SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 三层架构
表现层#xff1a;负责数据展示业务层#xff1a;负责业务处理数据层#xff1a;负责数据操作
MVC#xff08;Model View Controller#xff09;#xff1a;一种用于设计创建…SpringMVC 概述 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 三层架构
表现层负责数据展示业务层负责业务处理数据层负责数据操作
MVCModel View Controller一种用于设计创建Web应用程序表现层的模式
Model模型数据模型用于封装数据View视图页面视图用于展示数据jsphtml
Controller控制器处理用户交互的调度器用于根据用户需求处理程序逻辑
ServletSpringMVC
SpringMVC优点
使用简单性能突出(相比现有的框架)- 灵活性强
入门案例XML格式
1、导入SpringMVC相关坐标
dependencies!-- servlet3.1规范的坐标 --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency!--jsp坐标--dependencygroupIdjavax.servlet.jsp/groupIdartifactIdjsp-api/artifactIdversion2.1/versionscopeprovided/scope/dependency!--spring的坐标--dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.1.9.RELEASE/version/dependency!--spring web的坐标--dependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion5.1.9.RELEASE/version/dependency!--springmvc的坐标--dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.1.9.RELEASE/version/dependency/dependencies2、spring-mvc.xml扫描包配置相当于applicationContext.xml
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/contextxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd!--扫描加载所有的控制类类--context:component-scan base-packagecom.itzhuzhu//beans3、web.xml中配置SpringMVC核心控制器用于将请求转发到对应的具体业务处理器Controller中等同于Servlet配置
?xml version1.0 encodingUTF-8?
web-app xmlnshttp://java.sun.com/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsdversion3.0!--springMVC核心控制器加载spring的配置文件--servletservlet-nameDispatcherServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--初始化的时候加载spring配置文件--init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath*:spring-mvc.xml/param-value/init-param/servletservlet-mappingservlet-nameDispatcherServlet/servlet-nameurl-pattern//url-pattern/servlet-mapping
/web-app
4、设定具体Controller的访问路径等同于Servlet在web.xml中的配置
//设置当前类为Spring的控制器类
Controller
public class UserController {//设置当前方法返回值类型为String用于指定请求完成后跳转的页面RequestMapping(/save)public String save() {System.out.println(user mvc controller is running ...);//设定具体跳转的页面return success.jsp; //success.jsp里随便搞个标签就行}
}项目启动访问http://localhost:8080/save就可以跳转到页面了
入门案例执行流程分析
服务器启动
加载web.xml中DispatcherServlet读取spring-mvc.xml中的配置加载所有com.itzhuzhu包中所有标记为bean的类读取bean中方法上方标注RequestMapping的内容
处理请求
DispatcherServlet配置拦截所有请求/使用请求路径与所有加载的RequestMapping的内容进行比对执行对应的方法根据方法的返回值在webapp目录中查找对应的页面并展示
SpringMVC 技术架构图
用去医院看病的流程举例子然后通过这个例子再去看SpringMVC的架构图 DispatcherServlet前端控制器 是整体流程控制的中心由其调用其它组件处理用户的请求 有 效的降低了组件间的耦合性HandlerMapping处理器映射器 负责根据用户请求找到对应具体的Handler处理器Handler处理器业务处理的核心类通常由开发者编写描述具体的业务HandlAdapter处理器适配器通过它对处理器进行执行View Resolver视图解析器 将处理结果生成View视图View视图最终产出结果 常用视图如jsp、 html