SSM框架体会和小结(短学期实训)

  短短两周的小学期的实训,我对ssm框架有了初步的认识。所谓ssm就是指spring+springMVC+mybatis 。spring用于实现业务的对象,springMVC负责转发请求和视图,而mybatis是对jdbc的封装,负责数据库的操作。

  Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

  Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

  MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

 

SpringMVC基础知识:


什么是SpringMVC:

  1、前端控制器DispatcherServlet

  作用:接收请求,响应结果,相当于转发器。


  2、处理器映射器HandlerMapping

  作用:根据请求的URL查找Handler。


  3、处理器适配器 HandlerAadpter

  作用:将各种Controller适配成DispatcherServlet可以使用的Handler,通过特定规则(HandlerAdapter要求的规则)去执行Handler。


  4、处理器Handler(需要工程师开发)

  注意:编写Handler时需要HandlerAdapter的要求去做,这样HandlerAdapter才可以正确执行Handler。


  5、视图解析器 view resolver

  作用:进行视图解析,根据逻辑视图名解析成真正的视图(View) 


  6、视图view(需要工程师开发jsp、html)

  View是一个接口,实现类支持不同的类型(jsp、html、freemarker、pdf等)。


SpringMVC的工作原理:

  第一步:发送请求到前端控制器(DispatcherServlet)

  第二步:处理器映射器HandlerMapping查找Handler,可以根据xml配置,或者注解进行查找。

  第三步:处理器映射器HandlerMapping想前端控制器返回Handler。

  第四步:前端控制器去调用处理器适配器,再通过url去寻找相应的Handler

  第五步:处理器适配器去执行handler

  第六步:Handler执行完成适配器并返回ModelAndView。

  第七步:处理器适配器向前端控制器返回ModelANdView。ModelAndView是SpringMvc框架的一个底层对象,包括两个子类Model和view类。

  第八步:前端控制器请求视图解析器去视图解析,根据逻辑视图解析成真正的视图(jsp)

  第九步:视图解析器想前端控制器返回一个view

  第十步:前端控制器进行视图渲染

  第十一步:前端控制器向用户返回结果。

 

springmvc+mybaits的系统架构:

 

 

SSM整合的问题和对框架的理解

  学习了框架之后编写代码的效率提高了,框架封装了普通项目中程序员需要重复书写的代码和简化了调用过程,就比如说在传统的jsp项目中,我们的controller接收到前端的请求然后程序员就需要去开发Dao层,里面还涉及数据库的连接和存储过程的代码,大部分都是冗余的代码,而有了SSM框架后就极大的简化了controller以下层的开发,只需要一个service层和mapper层就行了,mapper层用来连接mapper.xml文件的,而直接用mapper.xml做sql语句的开发就行了,而什么数据库连接的和存储的过程都直接由mybatis负责了,我们只需要负责传递形参和接收返回数据就行了,这样就完成了一次完整的数据库交互!


整合步骤:

  第一步:整合dao层

    mybatis和spring整合,通过spring管理mapper接口。

    使用mapper的扫描器自动扫描mapper接口在spring中进行注册。

  第二步:整合service层

    通过spring管理 service接口。

    使用配置方式将service接口配置在spring配置文件中。

    实现事务控制。

  第三步:整合springmvc

    由于springmvc是spring的模块,不需要整合。

 

错误及心得总结:

  1、css无法显示

    在springmvc配置文件中配置一段解决静态资源访问的代码:

    <mvc:annotation-driven />
    <mvc:default-servlet-handler />
    <mvc:resources location="/js/" mapping="/js/**" />
    <mvc:resources location="/css/" mapping="/css/**" />
    <mvc:resources location="/image/" mapping="/image/**" />
    <mvc:resources location="/images/" mapping="/images/**" />

    <mvc:resources location="/imagess/" mapping="/imagess/**" />


  2、jsp中多值传送方法:用&连接,例如:

    <input type="submit" value="职业生涯信息" 

    οnclick="location='CareerPage?PageNo=1&cname=${employee.name}'" />


  3、使用js实现跳转

    var deptid = document.getElementById("deptid").value;
    alert(deptid);
    window.location.href = '../department/findById?deptid='+ deptid 

  4、使用form表单,按钮要提交

    type="submit"


  5、出现404,一般都是路径错误,或者配置文件错误等等。出现500,一般是代码错误。还有tomcat端口号占用、mysql字符集出错等。遇到错误不要太担心,可以一点点根据报错内容,一点点解决。

 

需要注意的地方:

  1、mapper.xml里的sql语句要确保在数据库中运行过一遍,mapper.xml里的id要与mapper.java的函数名对应。


  2、jsp里面调用的跳转要与controller里的对应。例如:

    <form name="form1" action="user/login" method="post">里的user/login与controller.javal里的对应。

    @RequestMapping(value=" /user ")
    public class UserController {

    @RequestMapping(value="/login")

    public ModelAndView success(User user,String username,String password)throws Exception {
    username=user.getUsername();
    password=user.getPassword();
    int count = userService.login(username, password);
    ModelAndView mv = new ModelAndView();
    if(count==1)
    {
    mv.setViewName("OK");
    }
    else {
    mv.setViewName("RSGL_loginFailed");
    }
    return mv;

    }


  3、数据库配置要与自己的数据库对应。

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/ehr(数据库名)
    jdbc.username=root(数据库用户名)
    jdbc.password=123456(数据库密码)

  4、web.xml里面的开始界面要改成自己建的jsp的名字。

    <welcome-file-list>
    <welcome-file>RSGL_index.html</welcome-file>
    <welcome-file>RSGL_index.htm</welcome-file>
    <welcome-file>RSGL_index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>

    </welcome-file-list>

 

  本次小学期对SSM框架的理解主要是以上这些,但其实还有很多深入的知识我还没有搞清楚,例如多表链接查询等。相信我可以利用暑假的时间将其学会。

  • 26
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以给你提供一些SSM框架搭建与使用实训的记录,希望对你有所帮助。 实训目标:通过本次实训,学习SSM框架的搭建与使用,熟悉基本的开发流程和操作步骤。 实训内容: 1. 搭建环境:安装JDK、Tomcat、Maven等必要的软件和工具。 2. 创建项目:使用Maven创建一个基于SSM框架的Web项目。 3. 配置文件:配置Spring、MyBatis等框架的配置文件,包括Spring配置文件、MyBatis配置文件、数据库连接池配置文件等。 4. 编写代码:根据需求编写相应的Java代码,包括Controller、Service、Mapper等。 5. 测试运行:将代码打包部署到Tomcat服务器上,进行测试运行,检验是否符合预期效果。 6. 优化改进:根据测试结果,对项目进行优化改进,如增加缓存、优化SQL语句等。 实训步骤: 1. 安装JDK、Tomcat、Maven等必要的软件和工具,并配置环境变量。 2. 使用Maven创建一个基于SSM框架的Web项目,选择相应的依赖和插件。 3. 配置Spring、MyBatis等框架的配置文件,包括Spring配置文件、MyBatis配置文件、数据库连接池配置文件等。 4. 编写Controller、Service、Mapper等Java代码,实现相应的功能。 5. 将代码打包,部署到Tomcat服务器上进行测试运行,检验是否符合预期效果。 6. 根据测试结果,对项目进行优化改进,如增加缓存、优化SQL语句等。 实训总结: 通过本次实训,我深刻认识到了SSM框架的重要性和使用方法。在实践中,我发现了一些问题,并及时进行了解决,如配置文件的错误、接口实现的不完善等。同时,我也学会了如何优化项目,提高其性能和效率。在今后的开发中,我将更加注重框架的使用和代码的优化,为项目的成功实现贡献自己的力量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值