天津网站制作策划,网站建设数据保存在哪儿,网站开发有几个阶段,关键词优化是怎样收费的目录
1. 概念
2.SpringMVC工作原理
3. springMVC的简单使用
1.在pom.xml中导入相关依赖 2.在web.xml中配置dispatcherServlet
3.创建springMVC.xml核心配置文件
4. SPringMVC分层后各个模块的作用 1. 概念 什么是MVC#xff1f; MVC是下面三个组件的简写#xff0c;模型…目录
1. 概念
2.SpringMVC工作原理
3. springMVC的简单使用
1.在pom.xml中导入相关依赖 2.在web.xml中配置dispatcherServlet
3.创建springMVC.xml核心配置文件
4. SPringMVC分层后各个模块的作用 1. 概念 什么是MVC MVC是下面三个组件的简写模型Model、视图View和控制器Controller。 模型Model 表示应用程序中的数据和业务逻辑。在Spring MVC中通常使用POJO作为模型对象。通常模型对象负责在数据库中存取数据。视图View 负责展示用户界面通常是HTML页面、JSON响应或其他类型的视觉呈现。视图负责将模型数据渲染并向用户呈现。控制器Controller 接收并处理HTTP请求并根据请求的内容选择相应的处理方法。控制器负责调度适当的业务逻辑操作模型数据并通过相应的视图返回响应结果。 注MVC是一种思想而Spring MVC是在MVC模式的基础上实现的一种Web框架即SpringMVC是一种具体实现。它利用了MVC的优势并添加了更多的功能和便利性使得开发者可以更轻松地构建和维护现代化的Web应用程序。 2.SpringMVC工作原理
1整体过程 Spring 中的父子容器问题 因为 Spring MVC 属于 Spring 的子框架所以 Spring MVC 中可以使用 Spring 框架的全部内 容。 Spring 官方为 Spring MVC 专门定义了一个容器这个容器里面放 Spring MVC 中全部 Bean且这个容器属于 Spring 容器的子容器。有这样的一个规定Spring MVC 子容器可以调用 Spring 父容器的全部内容。但是 Spring 父 容器不能调用 Spring MVC 子容器内容。 2加载过程 如上图2所示执行步骤如下 用户通过浏览器或其他客户端向服务器发送 HTTP 请求。当请求到达服务器时容器如 Tomcat将请求传递给 前端控制器 DispatcherServlet DispatcherServlet 是 Spring MVC 的核心组件它负责接收 HTTP 请求并且作为请求处理的入口点。然后读取配置文件来初始化 WebApplicationContext它又是 Spring 应用上下文的一个子接口它包含所有 Bean 的定义和配置信息。前端控制器 DispatcherServlet 收到请求调用处理器映射器 HandlerMapping通过 URL 或其他规则来决定应该调用哪个控制器。而处理器映射器HandlerMapping找到具体的处理器(可以根据 xml 配置、注解进行查找)生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。 前端控制器DispatcherServlet 查找能够处理选定控制器的 HandlerAdapter。HandlerAdapter 负责调用控制器中的具体方法。 处理器适配器HandlerAdapter去调用自定义的处理器类Controller。 自定义的处理器类Controller将得到的参数进行处理并返回结果给处理器适配器HandlerAdapter。 处理器适配器 HandlerAdapter 将得到的结果返回给前端控制器 DispatcherServlet。 前端控制器DispatcherServlet 将 ModelAndView 传给视图解析器 ViewReslover。 视图解析器ViewReslover将得到的参数从逻辑视图转换为物理视图并返回给前端控制器DispatcherServlet。 前端控制器DispatcherServlet调用物理视图进行渲染并返回。 前端控制器DispatcherServlet将渲染后的结果返回。 3. springMVC的简单使用 开发流程 maven创建web工程(略)引入依赖SpringSpringMVCJSTLServlet基础包在web.xml中配置dispatcherServlet创建SpringMVC核心配置文件开发controller创建测试index.jsp页面 1.在pom.xml中导入相关依赖
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactId02-SpringMVC/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/properties!--配置依赖--dependencies!--配置Spring相关依赖--dependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion5.3.26/versionscopetest/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion5.3.26/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.3.26/version/dependency!--配置Mybatis相关依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.16/version/dependency!--配置MyBatis和Spring的整合依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.0.6/version/dependency!--配置jdbc--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdversion8.0.33/version/dependency!-- 工具类 --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version!--表示该jar只在代码的编程和编译阶段有效在部署的时候自动剔除--scopeprovided/scope/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversionRELEASE/version/dependency!--配置web相关依赖--dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/version/dependency!-- https://mvnrepository.com/artifact/taglibs/standard --dependencygroupIdtaglibs/groupIdartifactIdstandard/artifactIdversion1.1.2/version/dependency!-- springmvc --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.26/version/dependency/dependencies
/project 2.在web.xml中配置dispatcherServlet
!DOCTYPE web-app PUBLIC-//Sun Microsystems, Inc.//DTD Web Application 2.3//ENhttp://java.sun.com/dtd/web-app_2_3.dtd web-appdisplay-nameArchetype Created Web Application/display-name!--配置Spring相关如果没有service和mapper层代码可以先不配置--!--配置DispatcherServlet相关--!--配置编码过滤器--filterfilter-nameCharacterEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueutf-8/param-value/init-param/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mappingservletservlet-namemvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-param
!--配置后Tomcat启动的时候会自动的创建该Servlet对象如果没有配置Servlet是在第一次访问的时候创建--load-on-startup1/load-on-startup/servletservlet-mappingservlet-namemvc/servlet-nameurl-pattern//url-pattern!--斜杠表示拦截除Jsp以外的所有请求/*表示拦截所有请求--/servlet-mapping
/web-app3.创建springMVC.xml核心配置文件
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd!--配置注解扫描扫描bean对象--context:component-scan base-packagecom.wollo.controller/context:component-scan!--配置注解解析器初始化一些其他的相关bean--mvc:annotation-driven/mvc:annotation-driven!--配置视图解析器--bean idresourceViewResolver classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/myPage//propertyproperty namesuffix value.jsp/property/bean!--配置静态资源放行--mvc:resources mapping/static/** location/static//mvc:resources
/beans4.开发controller层代码
package com.wollo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;Controller
public class MyController4 {RequestMapping(/add)public String add(){System.out.println(我只是一个普通的单元方法);return add;}}
5.jsp页面代码如下
%--Created by IntelliJ IDEA.User: 22529Date: 2024/8/6Time: 11:06To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitleTitle/title
/head
body我是add页面
/body
/html6.最后启动tomcat在地址栏中输入http://8080/add可以看到页面如下 4. SPringMVC分层后各个模块的作用 servlet DispactherServlet, 公共Servlet a. 封装了Spring的容器的创建和相关Bean初始化的代码 b. 动态获取相关请求数据的代码 c. 动态调用controller代码 c. 动态响应处理结果的代码 d. 其他功能 controller前后端交互的代码(自己写) service业务处理相关代码(处理数据) mapper项目和数据库交互层代码 domain: 实体类一个二维表一个实体类该类的对象用来存储数据