栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC框架从入门到入土(三):SSM的整合开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC框架从入门到入土(三):SSM的整合开发

SpringMVC框架从入门到入土(三):SSM的整合开发 SSM整合开发的实现步骤
SSM整合开发
SpringMVC + Spring + Mybatis

SpringMVC:视图层,界面层,负责接收请求,显示处理结果1
Spring:业务层,管理service,dao,工具类
Mybatis:持久层,访问数据库

工作流程:
用户发起请求--------使用SpringMVC接收--------Spring中的Service对象--------Mybatis处理数据

SSM整合也叫SSI,整合中有2个容器
1. SpringMVC的容器,管理Controller控制器对象
2. Spring容器,管理Service,Dao,工具类对象的
我们要做的就是把使用的对象交给合适的容器创建,管理。把Controller还有web开发的相关对象交给SpringMVC
这些web用的对象写在springmvc的配置文件中

service,dao对象写在spring配置文件中,让spring管理这些对象。

springmvc和spring容器有关系,关系已经确定了
springmvc和spring容器的子容器,类似java中的继承,就可以实现controller使用的service对象

实现步骤:
0. 使用springdb的数据库,表使用student(id,name,email,age)其中id自增
1. 新建maven项目
2. 加入依赖
   springmvc、spring、mybatis三个框架的依赖,jackson依赖,mysql驱动,druid连接池
   jsp,servlet依赖
3. 写web.xml
   ①注册DispatchServlet 目的:1. 创建springmvc容器对象,才能创建Controller类对象
                             2. 创建的是Servlet,才能接收用户的请求

   ②注册spring的监听器:ContextLoaderListener 目的:创建spring容器,才能创建service,到对象
   ③注册字符集过滤器,解决post请求的乱码问题

4. 创建包,Controller包,service,dao,实体类包名创建好
5. 写springmvc,spring,mybatis的配置文件
   ①springmvc的配置文件
   ②spring的配置文件
   ③mybatis的主配置文件
   ④数据库的属性配置文件

6. 写代码,dao接口和mapper文件,service文件
导入依赖

    
      junit
      junit
      4.11
      test
    
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
    
    
    
      javax.servlet.jsp
      jsp-api
      2.2.1-b03
    
    
    
      org.springframework
      spring-context
      5.3.16
    
    
    
      org.springframework
      spring-webmvc
      5.2.5.RELEASE
    
    
      org.springframework
      spring-tx
      5.2.5.RELEASE
    
    
    
      org.springframework
      spring-jdbc
      5.2.5.RELEASE
    
    
    
      com.fasterxml.jackson.core
      jackson-core
      2.9.8
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.8
    
    
    
      org.mybatis
      mybatis
      3.5.9
    
    
    
      org.mybatis
      mybatis-spring
      1.3.1
    
    
    
      mysql
      mysql-connector-java
      5.1.47
    
    
    
      com.alibaba
      druid
      1.1.12
    
  • 导入文件的资源的加载

    
      
        src/main/java
        
          ***.xml
        
        false
      
      
        src/main/resources
        
          ***.xml
        
        false
      
    
  
编写Web.xml文件
  • 注册中央调度器
    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:conf/dispatcherServlet.xml
        
        1
    
    
        springmvc
        /
    
  • 注册监听器

    
        contextConfigLocation
        classpath:conf/applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    
  • 注册字符集过滤器

    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
        
            forceRequestEncoding
            true
        
        
            forceResponseEncoding
            true
        
    
    
        characterEncodingFilter
        
    int insertStudent(Student student);

    
    List selectStudents();
}
  • mapper文件



    
    
    
    
        insert into student(name, email, age)
        values (#{name}, #{email}, #{age})
    


service包
  • StudentService接口
    
    int addStudent(Student student);

    
    List findStudents();
  • 实现类
package com.liar.service.impl;

import com.liar.dao.StudentDao;
import com.liar.entity.Student;
import com.liar.service.StudentService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


@Service
public class StudentServiceImpl implements StudentService {

    
    @Resource
    private StudentDao studentDao;

    @Override
    public int addStudent(Student student) {
        return studentDao.insertStudent(student);
    }

    @Override
    public List findStudents() {
        return studentDao.selectStudents();
    }
}
controller包
package com.liar.controller;

import com.liar.entity.Student;
import com.liar.service.StudentService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import java.util.List;


@Controller
@RequestMapping("/student")
public class MyController {

    @Resource
    private StudentService service;

    
    @RequestMapping(value = "/addStudent.do")
    public ModelAndView addStudent(Student student){
        ModelAndView mv = new ModelAndView();
        String message = "注册失败!";
        //调用service
        int nums = service.addStudent(student);

        if(nums > 0){
            //注册成功
            message = student.getName() + "注册成功!";
        }
        //添加数据
        mv.addObject("message",message);
        //指定结果页面
        mv.setViewName("result");
        return mv;
    }

    
    @RequestMapping(value = "/queryStudent.do")
    @ResponseBody
    public List queryStudent(Student student){
        //参数的检查,简单的数据处理
        List students = service.findStudents();
        return students;
    }
}
前端
  • index主页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% String basePath = request.getScheme() +"://"
        +request.getServerName() + ":" + request.getServerPort() +
        request.getContextPath() + "/";
%>


    功能入口
    



     
         

SSM整合的例子

注册学生
浏览学生
  • 添加学生页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% String basePath = request.getScheme() +"://"
        +request.getServerName() + ":" + request.getServerPort() +
            request.getContextPath() + "/";
%>



    添加学生
    


添加学生
姓名:
邮箱:
年龄:
     

  • 查询学生页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% String basePath = request.getScheme() +"://"
        +request.getServerName() + ":" + request.getServerPort() +
        request.getContextPath() + "/";
%>


    查询学生页面
    
    
    




    
学号 姓名 邮件 年龄
  • 结果页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    结果页面



结果页面
注册结果:${message}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号