当前位置: 首页 > news >正文

干果坚果网站建设厦门知名网站建设

干果坚果网站建设,厦门知名网站建设,如何做婚恋网站,网站如何添加统计代码文章目录 SpringMVC - 01一、概述二、SpringMVC 执行原理三、使用配置文件实现 SpringMVC四、使用注解开发实现 SpringMVC1. 步骤2. 实现 五、总结注意#xff1a; SpringMVC - 01 一、概述 SpringMVC 官方文档#xff1a;点此进入 有关 MVC 架构模式的内容见之前的笔记 SpringMVC - 01 一、概述 SpringMVC 官方文档点此进入 有关 MVC 架构模式的内容见之前的笔记点此进入 SpringMVC 是 Spring Framework 的一部分是基于 Java 实现 MVC 的轻量级 Web 框架底层还是 ServletSpring 的 Web 框架是围绕 DispatcherServlet 【调度 Servlet】设计的 DispatcherServlet 的本质是一个 ServletDispatcherServlet 的作用将请求分发到不同的处理器。 SpringMVC 的控制中心DispatcherServletSpringMVC 的核心三要素处理器映射器、处理器适配器、视图解析器SpringMVC 与 Spring 兼容性好无缝结合并且功能强大支持 RESTful 风格、异常处理、数据验证、格式化、本地化等SpringMVC 以请求为驱动围绕一个中心 Servlet 分派请求及提供其他功能。 二、SpringMVC 执行原理 下图为 SpringMVC 的执行流程图实线是 SpringMVC 框架提供的技术不需要开发者实现虚线需要实现。 组件 DispatcherServlet 前端控制器是整个 SpringMVC 的控制中心作用接收请求响应结果相当于电脑的 CPUHandlerMapping 处理器映射器作用根据 URL 查找处理器Handler 处理器也称 Controller和 Servlet 扮演的角色一致作用执行相关的请求处理逻辑并返回相应的数据和视图信息将其封装至 ModelAndView 对象中HandlerExecutionChain执行链包含了处理器 HandlerHandlerAdapter 处理器适配器作用按照特定规则去执行 HandlerViewReslover 视图解析器作用进行视图解析ModelAndView SpringMVC 的底层对象包括 Model 数据模型和 View 视图信息。 步骤 1 用户发起请求到前端控制器 DispatcherServlet 2 前端控制器请求处理器映射器 HandlerMappering 去通过 xml 配置或者注解来查找处理器 Handle 3-4 找到处理器 Handle 以后 HandlerMappering 向前端控制器返回一个执行链 HandlerExecutionChain包含了 Handle 5 前端控制器 DispatcherServlet 调用处理器适配器 HandlerAdapter 去执行处理器 Handler 6 处理器适配器去执行 Handler 7 Handler 执行完给处理器适配器 HandlerAdapter 返回 ModelAndView 8 处理器适配器 HandlerAdapter 向前端控制器返回 ModelAndView 9 前端控制器 DispatcherServlet 请求视图解析器 ViewResolver 去进行视图解析 10 视图解析器 ViewResolver 向前端控制器返回 View 11 前端控制器根据 View 对视图进行渲染将 Model 中的模型数据填充到 View 视图中的 request 域生成最终的 View视图 12 前端控制器向用户响应结果。 备注 SpringMVC 执行原理概述拦截请求、解析 URL 找到处理器 Handle、执行 controller、解析数据和视图并展示。 SpringMVC 执行原理参考文档 参考文档 1点此进入参考文档 2点此进入 三、使用配置文件实现 SpringMVC 使用配置文件实现 SpringMVC 主要是为了理解 SpringMVC 的执行原理步骤如下 创建一个普通的 Maven 项目导入依赖 !-- Servlet 依赖 -- dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/version /dependency!-- JSP 依赖 -- dependencygroupIdjavax.servlet.jsp/groupIdartifactIdjsp-api/artifactIdversion2.1/version /dependency!-- JSTL 表达式依赖 -- dependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/version /dependency!-- standard 标签库 -- dependencygroupIdtaglibs/groupIdartifactIdstandard/artifactIdversion1.1.2/version /dependency!-- spring-webmvc -- dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.18/version /dependency!-- junit -- dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version /dependency新建一个普通的 Maven 模块在模块上右键选择 Add Framework Support... 后勾选 Web Application(4.0) 将模块转变为一个 Web 模块。注意因为没有使用模板创建 Web 项目所以此时生成的 web 文件夹不在 main 文件下这样生成的 out 文件夹中没有依赖所以要打开项目结构建立 lib 文件夹导入依赖。 在 web.xml 中配置 DispatcherServlet 前端控制器整个 SpringMVC 的控制中心 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!-- 配置 DispatcherServlet 前端控制器 --servletservlet-namespringmvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!-- DispatcherServlet 绑定 Spring 的配置文件 --init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring-mvc.xml/param-value/init-param!-- 启动级别1和服务器一起启动 --load-on-startup1/load-on-startup/servletservlet-mappingservlet-namespringmvc/servlet-nameurl-pattern//url-pattern/servlet-mapping/web-app编写 spring-mvc.xml 配置文件包括配置处理器映射器、处理器适配器、视图解析器 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd!-- 处理器映射器 --bean classorg.springframework.web.servlet.handler.BeanNameUrlHandlerMapping/!-- 处理器适配器 --bean classorg.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter/!-- 视图解析器 --bean idinternalResourceViewResolver classorg.springframework.web.servlet.view.InternalResourceViewResolver!-- 前缀 --property nameprefix value/WEB-INF/jsp//!-- 后缀 --property namesuffix value.jsp//bean!-- BeanNameUrlHandlerMapping根据 bean 的名字找到处理器映射器 --bean id/hello classcom.Sun3285.controller.ControllerDemo01//beans编写一个 Controller处理器 Handler实现 Controller 接口重写方法实现业务代码、视图跳转 编写要跳转的页面 配置 Tomcat测试 提示可以将以上代码与第二部分 SpringMVC 的执行原理相对应起来看可以加深理解。 四、使用注解开发实现 SpringMVC 在实际中经常使用注解开发实现 SpringMVC使用到的注解有 注解说明Controller将编写的控制类注册为 bean由 Spring 容器进行管理RequestMapping(“请求路径”)完成映射关系根据请求路径找到对应的处理器Controller 控制器 1. 步骤 注解开发步骤如下 创建一个普通的 Maven 项目导入依赖新建一个普通的 Maven 模块转变为一个 Web 模块打开项目结构建立 lib 文件夹添加依赖在 web.xml 中配置 DispatcherServlet 前端控制器 配置 DispatcherServlet 前端控制器绑定 Spring 的配置文件设置启动级别。 编写 spring-mvc.xml 配置文件 导入 context 和 mvc 的头文件约束设置自动扫描包设置让 SpringMVC 不处理静态资源支持注解驱动配置视图解析器。 编写控制类使用注解编写要跳转的页面配置 Tomcat测试。 2. 实现 web.xml ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!-- 配置 DispatcherServlet 前端控制器 --servletservlet-namespringmvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!-- DispatcherServlet 绑定 Spring 的配置文件 --init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring-mvc.xml/param-value/init-param!-- 启动级别1和服务器一起启动 --load-on-startup1/load-on-startup/servletservlet-mappingservlet-namespringmvc/servlet-nameurl-pattern//url-pattern/servlet-mapping /web-appspring-mvc.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/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd!-- 自动扫描包让指定包下的注解生效由 IOC 容器统一管理 --context:component-scan base-packagecom.Sun3285.controller/!-- 让 SpringMVC 不处理静态资源 --mvc:default-servlet-handler/!-- 支持注解驱动 --mvc:annotation-driven/!-- 视图解析器 --bean idinternalResourceViewResolver classorg.springframework.web.servlet.view.InternalResourceViewResolver!-- 前缀 --property nameprefix value/WEB-INF/jsp//!-- 后缀 --property namesuffix value.jsp//bean/beans控制类 在要跳转的页面中取出 message 对应的值 配置 Tomcat测试 五、总结 ModelAndView 类型的对象可以执行的方法 方法说明addObject(String attributeName, Object attributeValue)以键值对的形式赋值setViewName(String viewName)参数 viewName 通过视图解析器后组成 url 用于视图跳转 注意这些方法由 ModelAndView 类型的对象执行。 Model 类型的对象可以执行的方法 方法说明addAttribute(String attributeName, Object attributeValue)以键值对的形式赋值 注意这个方法由 Model 类型的对象执行相当于 ModelAndView 类的 addObject 方法。 将所有视图放在 WEB-INF 目录下这样可以保证视图安全因为这个目录下的文件客户端不能直接访问 在 web.xml 中配置 DispatcherServlet 前端控制器时url-pattern 中要使用 / / 只匹配所有的请求不会去匹配 jsp 页面 /* 匹配所有的请求包括 jsp 页面。 在 spring-mvc.xml 配置文件中通常我们只需要手动配置视图解析器而处理器映射器和处理器适配器只需要开启注解驱动即可省去了 xml 配置 在控制类中 类由 Controller 注解声明可以将编写的控制类注册为 bean由 Spring 容器进行管理在容器初始化时被自动扫描到方法由 RequestMapping 注解声明可以完成映射关系根据请求路径找到对应的处理器Controller 控制器方法的参数为 Model 类型可以通过调用方法来封装数据方法的返回值为 String 类型返回值会被视图解析器解析从而组成一个跳转页面的 url可以在控制类中写多个方法。 使用配置文件实现 SpringMVC 主要是为了理解 SpringMVC 的执行原理而使用注解开发实现 SpringMVC 才是实际中经常用到的。 注意 SpringMVC 官方文档https://docs.spring.io/spring-framework/docs/current/reference/html/web.html。
http://www.sadfv.cn/news/102111/

相关文章:

  • 功能网站模板企业免费网站优化服务
  • 深圳网站建设咨询公司浙江品牌设计公司
  • 文明网站的建设与管理几点思考西安做公司网站
  • 网站建设挣钱么百度指数功能模块
  • 深圳企业培训网站制作带优化
  • 离职同事以公司名义做网站北京新浪网站制作公司
  • 百度如何建网站群wordpress 文字底色
  • 济南建设网站制作优化分析wordpress 调用插件
  • 沈阳沈阳建设工程信息网站买卖域名挣几十万
  • 网站开发人员是做什么的wordpress签到用户中心插件
  • 自定义功能的网站图册制作
  • 安徽省住房城乡建设厅门户网站爱采购官网首页
  • 做网站的说3年3年包括什么保险销售的建设网站策划书
  • 肇庆做网站的有专门app软件制作费用
  • 郑州运营网站搭建优化wordpress 栏目导航
  • 网站模板怎么修改教程北京网站改版价格
  • 口碑好的南京网站建设wordpress 自动加载下一页
  • 电子商务网站的运营一般需要做哪些准备进入网站服务器怎么做
  • 建筑师网站有哪些东莞信科做网站
  • 做钢管网站制作微信商城网站开发
  • 网站建设资金阿里云网站怎么做
  • 郑州网站优化旅游网页图片
  • 网站怎么做长尾词企业培训课程有哪些
  • 公司建设网站的案例分析wordpress原有注册登录页面
  • 海淀网站开发针对人群不同,网站做细分
  • 国外网站html5从上到下连续变动网页设计留言板怎么做
  • 建立 网站服务器怎么免费做一个网站做淘宝客
  • 网站建设在哪里找制作视频的软件手机
  • 河北云网站建设免费公司注册
  • 关于网站开发的商业计划书wordpress充值金币的插件