框架之SpringMVC

一.配置文件
    1.springMvc.xml
        *<context:component-scan base-package="com.zjl.springmvc.controller"/>:组件包扫描
        *springmvc使用自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter,可    用在springmvc.xml配置文件中使用替代注解处理器和适配器的配置。
    *视图解析器:<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

                  <property name="viewClass"

                        value="org.springframework.web.servlet.view.JstlView"/>

                   <property name="prefix"value="/WEB-INF/jsp/"/>

                   <property name="suffix"value=".jsp"/>

                  bean>
    2.web.xml
    
  <servlet>
      <servlet-name>springmvcservlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
      <init-param>
           <param-name>contextConfigLocationparam-name>
           <param-value>classpath:springmvc.xmlparam-value>
      init-param>
  servlet>
  <servlet-mapping>
      <servlet-name>springmvcservlet-name>
      <url-pattern>*.actionurl-pattern>
  servlet-mapping>

二.springmvc架构
    架构流程:
    1、  用户发送请求至前端控制器DispatcherServlet

    2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    3、  处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回    给DispatcherServlet。

    4、  DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

    5、  执行处理器(Controller,也叫后端控制器)。

    6、  Controller执行完成返回ModelAndView

    7、  HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

    8、  DispatcherServlet将ModelAndView传给ViewReslover视图解析器

    9、  ViewReslover解析后返回具体View

    10 .  DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

    DispatcherServlet响应用户
  * springmvc的三大组件:处理器映射器  处理器适配器  视图解析器
  *处理器形参中默认识别的参数
    HttpServletRequest   HttpServletResponse   HttpSession   Model/ModelMap(Model的实现类)

三.springmvc与struts2的不同
    1.springmvc的入口是一个servlet,即前端过滤器;struts2的入口是一个filter过滤器
    2.springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或者多例(建议单例), struts2是基于类开发,传递参数是通过类的属性,只能设计为多例.
    3.struts2采用值栈存储请求和响应的数据,通过OGNL存储数据,springmvc通过参数解析器将request请求内容解析,并给
      方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面,
      jsp视图解析器默认使用jstl.

四.RESTful支持
    1.RESTful是一个资源定位和资源操作的风格
    2.URL模板模式映射  

    @RequestMapping(value="/ viewItems/{id}"):{×××}占位符,请求的URL可以        是“/viewItems/1”或“/viewItems/2”,通过在方法中使用@PathVariable获取{×××}中的×××变量。

@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上    
        3.静态资源访问:





你可能感兴趣的:(JavaWEB)