springMVC——springMVC基础

SpringMVC是一个前端控制框架,将代替传统的Servlet干活。SpringMVC是Spring的一大组件。


Serclet的缺点:

    1- 1servlet至少需要配置8xml,如果大型系统servlet数量众多,那么整个xml配置将变得非常的繁琐,

    2-servlet获取用户传入的数据比较繁琐,每接收一个数据都需要写 request.getParameter("name")

    3-服务端获取的参数类型都是String类型,需要程序员手动转化类型。

    4-对于一个操作,都需要编写一个Servlet进行处理

    5-servlet的方法单一,只有doget() doPost();

 

SpringMVC的组件:

    1-前端控制器        只负责requestresponse对象的转发

    2-处理器映射器    URL匹配对应的Controller

    3-处理器适配器     执行对应的handel

    4-视图解析器          将页面的逻辑名称,转化为对应的具体页面路径

 

SpringMVC调用过程:

                                            

    1-客户发送request请求

    2-请求处理器映射器处理handler(找到匹配的Controller类)

    3-返回能够处理的那个Controller类

    4-请求处理器适配器执行handler(内部按照匹配规则执行)

    5-执行handler(Controller-service--dao)

    6-将处理结果进行返回,返回ModelAndView对象(model表示处理后的数据   View表示页面的逻辑名称hello)

    7-将ModelAndView对象返回给前端控制器

    8-请求视图解析器解析View对象(将页面的逻辑名称,拼接成一个完整的页面路径 /WEB-INF/hello.jsp)

    9-将完整的页面路径再次返回值给前端控制器

    10-将model数据填充到页面中的Request域中


入门案例

    1-导入jar包:

                                             

    2-配置DispatcherServlet——在web.xml中
                                        

    3-编写springMVC的核心配置文件

        名称规定:默认条件下配置文件的名称为+servlet的名称+-servlet.xml ---->   (springmvc-servlet.xml)

                                    

    4-实现Controller接口

                                        

    5-配置视图解析器

                            


springMVC修改核心配置文件的位置:

  <servlet>
          <servlet-name>springmvc</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <!--修改配置文件的位置 -->
          <init-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:springmvc-servlet.xml</param-value>
          </init-param>
  </servlet>
  <servlet-mapping>
          <servlet-name>springmvc</servlet-name>
          <url-pattern>*.action</url-pattern>
  </servlet-mapping>

springMVC的注解形式:

    1-开始springMVC注解

                            

    2-使用注解@RequestMapping

                   

获取request对象和response对象:

                               

解决中文乱码问题:

  <!--解决中文乱码问题  -->
  <filter>
          <filter-name>characterEncoding</filter-name>
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
          <init-param>
                  <param-name>encoding</param-name>
                  <param-value>utf-8</param-value>
          </init-param>
  </filter>
  
  <filter-mapping>
          <filter-name>characterEncoding</filter-name>
          <url-pattern>/*</url-pattern>
  </filter-mapping>


猜你喜欢

转载自blog.csdn.net/weixin_40663800/article/details/80169797