zoukankan      html  css  js  c++  java
  • SSM整合(spring,spirngmvc,mybatis)

    整合思路

      准备环境:导入jar包(spring mybatis  dbcp连接池  mysql驱动包 log4j)

    工程结构:

     ---------------------------

    1.  整合dao

    mybatis和spring进行整合

      applicationContext-dao.xml

    配置:

    1.数据源

    2.SqlSessionFactory

    3.mapper扫描器

    创建po以及mapper(通过逆向工程,这里不再演示)

    针对综合查询mapper,一般情况会有关联查询,建议自定义mapper

     ItemsMapperCustom.xml

    ItemsMapperCustom.java

     

    ---------------------------

     整合service

     让spring管理service接口

     

    在spring容器配置service(applicationContext-service.xml)

    创建applicationContext-service.xml,文件中配置service

    事务控制(applicationContext-transaction.xml)
    在applicationContext-transaction.xml中使用spring声明式事务控制方法。

    ------------------------------------------------------

    整合springmvc

    创建springmvc.xml文件,配置处理器映射器、适配器、视图解析器。

    web.xml中配置前端控制器

    编写Controller(就是Handler)

    加载spring容器

    将mapper、service、controller加载到spring容器中

    部署项目,启动服务器:访问:

     

    ·········································································

     其他特性:

    -----------------------------

    controller方法的返回值

    返回ModelAndView
    需要方法结束时,定义ModelAndView,将model和view分别进行设置。

    返回string

    如果controller方法返回string,

    1、返回逻辑视图名。

    真正视图(jsp路径)=前缀+逻辑视图名+后缀

     

    2、redirect重定向
    商品修改提交后,重定向到商品查询列表。
    redirect重定向特点:浏览器地址栏中的url会变化。修改提交的request数据无法传到重定向的地址。因为重定向后重新进行request(request无法共享)

    3、forward页面转发
    通过forward进行页面转发,浏览器地址栏url不变,request可以共享。

     返回void

    在controller方法形参上可以定义request和response,使用request或response指定响应结果:

    1、使用request转向页面,如下:

    request.getRequestDispatcher("页面路径").forward(request, response);

    2、也可以通过response页面重定向:

    response.sendRedirect("url")

    3、也可以通过response指定响应结果,例如响应json数据如下:

    response.setCharacterEncoding("utf-8");

    response.setContentType("application/json;charset=utf-8");

    response.getWriter().write("json串");

    ------------------------------

    spring参数绑定过程

    从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上。

    springmvc中,接收页面提交的数据是通过方法形参来接收。而不是在controller类定义成员变更接收!!!!

     默认支持的类型

    直接在controller方法形参上定义下边类型的对象,就可以使用这些对象。在参数绑定过程中,如果遇到下边类型直接进行绑定。

    ---------------------------------------------------------

     

     自定义日期类型绑定类:

    需要向处理器适配器中注入自定义的参数绑定组件。

     

    ----------------------------------------------------------

     springmvc和struts2的区别

    1、springmvc基于方法开发的,struts2基于类开发的。

    springmvc将url和controller方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。

    方法执行结束,形参数据销毁。

    2、springmvc可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数(存在数据域属性   非线程安全),无法使用单例,只能使用多例。

    3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。

  • 相关阅读:
    Faster rcnn代码理解(2)
    Faster rcnn代码理解(1)
    BN讲解(转载)
    faster-rcnn
    编程修养
    人才盘点
    Source Insight 技巧总结
    使用DNSSCrypt解决DNS污染问题
    程序员的自我修养 学习笔记(5)
    闯红灯检测原理
  • 原文地址:https://www.cnblogs.com/Joke-Jay/p/7537726.html
Copyright © 2011-2022 走看看