SpringMVC(一)概述

本文介绍了SpringMVC框架的基本概念及工作原理。SpringMVC是Spring框架的一部分,用于Web开发,采用MVC架构模式,主要通过注解方式管理控制器对象。文章详细解释了DispatcherServlet的作用及其初始化过程,并概述了请求处理流程。

springmvc概述

1.1springmvc基本说明

springmvc是基于spring的,是spring中的一个模块。做web开发使用的,springmvc叫做spring web mvc,说明他是spring的核心技术,做web开发,springmvc内部是使用mvc架构模式,

springMVC是一个容器,管理对象,使用IOC核心技术,springmvc管理界面层中的控制器对象。
springmvc底层也是servlet为核心,接收请求,处理请求,显示处理结果给用户,

处理用户的请求:
用户发起请求—springmvc—spring—mybatis-mysql数据库,

1.2springMVC中核心servlet—DispatcherServlet

DispatcherServlet是框架一个servlet对象,负责接收请求,响应处理结果,
DispatcherServlet它的父类是httpservlet
DispatcherServlet也叫做前端控制器(frontcontroller)

springmvc是管理控制器对象,原来没有springmvc之前使用servlet作为控制器对象使用,现在通过springmvc容器创建一种叫做控制器的对象,代替servlet行使控制器的角色,功能。

springmvc主要是使用注解的方式,创建控制器对象,处理请求,

配置
 <!--声明springmvc的核心对象
  访问mymvc地址后,报错文件没有找到文件 /WEB-INF/springmvc-servlet.xml
                                  /WEB-INF/myweb-servlet.xml
  错误原因:
     在servlet中init()初始化方法中,创建springmvc使用的容器对象webApplicationContext
     webApplicationContext ctx=new ClasspathXmlApplicationContext(配置文件)
     配置文件的默认路径:/WEB-INF/<servlet-name>-servlet.xml
  -->

  <servlet>
    <servlet-name>myweb</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>
    <!--
    表示服务器tomcat创建对象的顺序,是个整数值,大于0
    数值越小,创建对象时间越早,确定创建servlet对象的顺序
    -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>myweb</servlet-name>
    <!--
    url-pattern 作用:把一些请求交给指定的servlet处理
    使用中央调度器(DispatcherServlet)
    1.使用扩展名方式,格式*.xxx,xxx是自定义的扩展名,
    例如*.do,*.action,*.mvc等等,不能使用*.jsp,
      http:/localhost:8080/myweb/user/some.do
       http:/localhost:8080/myweb/user/list.action
    2.使用"/"
    -->
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

1.3springmvc请求处理的过程

简单的处理过程:
用户发起请求some.do—>tomcat接收了请求—DispacherServlet—分配mycontroller(dosome()返回mv对象)—mv显示给用户了,

省略tomcat
用户some.do—DispatcherServlet —mycontroller

如果使用servlet处理请求
用户发起请求----没有其他对象—servlet,
在这里插入图片描述
配置文件的加载顺序和功能
1.tomcat服务器启动,读取web.xml,根据web.xml文件中的说明创建对象

  <servlet>
    <servlet-name>myweb</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>
    <!--
    表示服务器tomcat创建对象的顺序,是个整数值,大于0
    数值越小,创建对象时间越早,确定创建servlet对象的顺序
    -->
    <load-on-startup>1</load-on-startup>
  </servlet>

创建DispatcherServlet它的对象。会执行init()方法,在init()方法中会执行springmvc容器对象创建webApplicationContext ctx=new ClasspathXmlApplicationContext(“classpath:springmvc.xml”)
2.springmvc框架,new ClasspathxmlApplicationContext()读取springmvc的配置文件

 <!--spring配置文件-->
    <!--声明组件扫描器-->
    <context:component-scan base-package="com.controller"/>
    <!--声明视图解析器:帮助处理视图-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--前缀:指定视图文件路径-->
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

使用组件扫描器base-package=“com.controller”,遍历controller包中的所有类,mycontroller类,找到类中的@controller,@requestmapping注解,就能创建mycontroller对象,知道some.do的请求是执行dosome()方法,
以上1,2都是项目启动的过程,没有执行任何的用户请求

3.用户发起请求some.do—DispatcherServlet
DispatcherServlet里面webApplicationcontext,webApplictionContext里面有mycontroller对象请求some.do,DispatcherServlet就知道是mycontroller处理的,

1.4 复习
用户发起some.do—DispatcherServlet(servlet请求)—转给mycontroller

在这里插入图片描述

1.4springmvc的mvc组件

在这里插入图片描述

简单了解就行
第一章项目内容,以模块形式到导入就能运行
链接:https://pan.baidu.com/s/1yjCZUmzYeW08Yuk5d8X4VQ
提取码:wm05

1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本管理,服务根路径工具类,文件上传工具类 1.0.10 集成ueditor在线编辑器 1.0.11 地址联动 1.0.12 Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 zookeeper工具类优化 增加工具类 1.0.16 页面html标志修改 httpclient中文支持 工具类增强(zip,reflect,thread) 1.0.17 ftp服务端和客户端工具类,配置文件maven和web项目路径统 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 首页修改 dateformat.js 时间参数转换 SpringMVC配置文件集中 快递参数接口 1.1.4 des加解密字符串和文件 1.1.5 redis 加锁,redis升级成2.8.2 freemarker工具类 1.1.6 spring websocket 实现在线聊天 maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值