SSM

时间:2022-09-08 18:13:32

今天内容安排

1:复习mybatis

2:复习springMVC

3:springMVC+spring+mybatis组合起来,搭建一个web应用开发的框架

4:用户管理系统,针对用户的CRUD操作,前后端交互

  1. mybatis复习

SSM

  1. springmvc复习

spring-mvc

web.xml配置DispatcherServlet

{servlet-name}-servlet.xml(自己的配置文件)

扫描包<context:component-scan base-package="cn.itcast.mvc.controller"/>

注解驱动(配置了handlerMapping,HandlerAdatper)

<mvc:annotation-driven/>

视图解析器(org.springframework.web.servlet.view.InternalResourceViewResolver)

前缀(prefix)

后缀(suffix)

返回视图的形式===前缀+实体名称+后缀

需要文件上传--则配置文件上传代码

如果有自定义拦截器,需要进行配置 <mvc:interceptors>

注解的使用

类的注解

@Controller 表示当前类是一个Controller

@RequestMapping(value="访问路径")

方法的注解

@RequestMapping(value="路径",method="限定请求方法",params="限定请求参数")

@ResponseBody --- 表示返回的对象自动转换成json

@ResponseStatus设置相应的状体码(了解)

方法参数的注解

@RequestBody --- 接受json格式数据 可以是集合,可以是单个对象

@PathVariable()----接受路径中的占位符 /test/{itemid} 可以接受itemid

@RequestParam(value="传递参数的key'",required=是否必须传递该参数,defaultValue:如果没有传递参数的默认值) 接受请求参数

@CookieValue(value="cookieName") 可以直接从指定的cookie中获取数据

一些对象的接受

serlvet的内置对象(直接在方法中定义参数就可以获取到)

request

resposne

session

pojo对象

直接定义该对象就可以使用

集合

重新去定义一个对象,把集合变成对象中的一个属性,在方法的参数上,书写这个对象

拦截器

1、实现HandlerInterceptor

2、完成指定三个方法

preHandle(前置方法,返回类型,boolean,true继续向后执行,false,结束执行

后置方法:postHandle(执行完Handler之后)

完成方法afterCompletion() 如果该类的preHandler返回是true的时候,会执行

web.xml配置DispatcherServlet

{servlet-name}-servlet.xml(自己的配置文件)

扫描包<context:component-scan base-package="cn.itcast.mvc.controller"/>

注解驱动(配置了handlerMapping,HandlerAdatper)

<mvc:annotation-driven/>

视图解析器(org.springframework.web.servlet.view.InternalResourceViewResolver)

前缀(prefix)

后缀(suffix)

返回视图的形式===前缀+实体名称+后缀

需要文件上传--则配置文件上传代码

如果有自定义拦截器,需要进行配置 <mvc:interceptors>

注解的使用

类的注解

@Controller 表示当前类是一个Controller

@RequestMapping(value="访问路径")

方法的注解

@RequestMapping(value="路径",method="限定请求方法",params="限定请求参数")

@ResponseBody --- 表示返回的对象自动转换成json

@ResponseStatus设置相应的状体码(了解)

方法参数的注解

@RequestBody --- 接受json格式数据 可以是集合,可以是单个对象

@PathVariable()----接受路径中的占位符 /test/{itemid} 可以接受itemid

@RequestParam(value="传递参数的key'",required=是否必须传递该参数,defaultValue:如果没有传递参数的默认值) 接受请求参数

@CookieValue(value="cookieName") 可以直接从指定的cookie中获取数据

一些对象的接受

serlvet的内置对象(直接在方法中定义参数就可以获取到)

request

resposne

session

pojo对象

直接定义该对象就可以使用

集合

重新去定义一个对象,把集合变成对象中的一个属性,在方法的参数上,书写这个对象

拦截器

1、实现HandlerInterceptor

2、完成指定三个方法

preHandle(前置方法,返回类型,boolean,true继续向后执行,false,结束执行

后置方法:postHandle(执行完Handler之后)

完成方法afterCompletion() 如果该类的preHandler返回是true的时候,会执行

SSM

SSM

  1. ssm综合应用

SSM

  1. 创建工程---环境整理

    1. 使用技术

SpringMVC+Spring + Mybatis

数据库:mysql

前端:Jquery EasyUI

  1. 配置文件的编写

    1. spring配置文件

约束:

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd

    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd

    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd

    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

SSM

  1. 事务配置

SSM

  1. spring-mvc配置文件

SSM

  1. spring-mybatis配置文件

SSM

  1. mybatis-config配置

SSM

  1. web.xml

SSM

SSM

  1. 导入相关js

SSM

  1. 解决静态资源被拦截

SSM

  1. 查询用户列表

    1. controller

SSM

  1. 定义EasyUIResult

作用:定义easyui中的分页信息的bean对象,或者vo对象

package cn.itcast.usermanage.pojo;

import java.util.List;

public class EasyUIResult<?> {

private Integer total;

private List<?> rows;

public Integer getTotal() {

return total;

}

public void setTotal(Integer total) {

this.total = total;

}

public List<?> getRows() {

return rows;

}

public void setRows(List<?> rows) {

this.rows = rows;

}

}

  1. 编写userservice

SSM

  1. 编写userMapper

SSM

SSM

  1. 效果

SSM

  1. 访问路径方法合并

之前进行页面跳转的时候,如果有多个页面,就需要有多个方法。

借助于requetMapping(占位符的方式,传递一些数据,达到页面跳转的目的)

/user/to/user-list

可以取出user-list 这个内容, 作为视图的名字。 /web-inf/views/ user-list.jsp

SSM

  1. 导出excel

  1. controller的逻辑

SSM

  1. spring提供的excel视图实现

SSM

  1. 自定义excel 视图

public class UserExcelView extends AbstractExcelView {

/**

* 以下完成视图的渲染

*/

@Override

protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook,

HttpServletRequest request, HttpServletResponse response) throws Exception {

// 从model对象中获取userList

@SuppressWarnings("unchecked")

List<User> userList = (List<User>) model.get("userList");

// 创建Excel的sheet

HSSFSheet sheet = workbook.createSheet("会员列表");

// 创建标题行

HSSFRow header = sheet.createRow(0);

header.createCell(0).setCellValue("ID");

header.createCell(1).setCellValue("用户名");

header.createCell(2).setCellValue("姓名");

header.createCell(3).setCellValue("年龄");

header.createCell(4).setCellValue("性别");

header.createCell(5).setCellValue("出生日期");

header.createCell(6).setCellValue("创建时间");

header.createCell(7).setCellValue("更新时间");

// 填充数据

int rowNum = 1;

for (User user : userList) {

HSSFRow row = sheet.createRow(rowNum);

row.createCell(0).setCellValue(user.getId());

row.createCell(1).setCellValue(user.getUserName());

row.createCell(2).setCellValue(user.getName());

row.createCell(3).setCellValue(user.getAge());

String sexStr;

if (user.getSex() == 1) {

sexStr = "男";

} else if (user.getSex() == 2) {

sexStr = "女";

} else {

sexStr = "未知";

}

row.createCell(4).setCellValue(sexStr);

row.createCell(5).setCellValue(new DateTime(user.getBirthday()).toString(Constants.DATE));

row.createCell(6).setCellValue(new DateTime(user.getCreated()).toString(Constants.DATE_TIME));

row.createCell(7).setCellValue(new DateTime(user.getUpdated()).toString(Constants.DATE_TIME));

rowNum++;

}

// 设置相应头信息,以附件形式下载并且指定文件名

response.setHeader("Content-Disposition", "attachment;filename="

+ new String("会员列表.xls".getBytes(), "ISO-8859-1"));

}

}

  1. 定义视图对象到springmvc中

SSM

  1. 定义视图解析器(通过bean对象查找视图)

注意:在SpringMVC中,如果定义多个视图解析器,需要指定每个视图解析的顺序。

SSM

  1. 添加用户的实现

<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id" keyColumn="id">

INSERT INTO tb_user (

id,

user_name,

password,

name,

age,

sex,

birthday,

created,

updated

)VALUES(

null,

#{userName},

#{password},

#{name},

#{age},

#{sex},

#{birthday},

NOW(),

NOW()

);

</insert>

  1. 日期对象的自动转换

SSM

  1. json转换的时候,忽略属性

使用 @JsonIgnore 完成某个属性忽略,不会转换成json。

SSM

SSM的更多相关文章

  1. 【SSM框架】Spring &plus; Springmvc &plus; Mybatis 基本框架搭建集成教程

    本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...

  2. springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪

    获取下载地址   QQ 313596790  A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:31359679 ...

  3. SSM项目搭建(提供源码)

    1创建web动态项目,项目结构截图 2.配置日志文件 #\u5B9A\u4E49LOG\u8F93\u51FA\u7EA7\u522B log4j.rootLogger=INFO,Console,Fi ...

  4. activiti工作流的web流程设计器整合视频教程 SSM和独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  5. activiti工作流的web流程设计器整合视频教程 SSM 和 独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  6. SSM三大框架整合详细教程(Spring&plus;SpringMVC&plus;MyBatis)【转】

    使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...

  7. Maven&plus;Spring&plus;Spring MVC&plus;MyBatis&plus;MySQL,搭建SSM框架环境【转】

    项目建设完成之后的结构: 数据库的表结构如下: 环境建设:搭建Maven环境.Tomcat环境.需要MySql 数据库支持,使用的编程工具Eclipse (这些是前期准备): 开始创建工程: 1.创建 ...

  8. java web后台开发SSM框架(Spring&plus;SpringMVC&plus;MyBaitis)搭建与优化

    一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...

  9. SSM整合&lpar;三&rpar;:Spring4与Mybatis3与SpringMVC整合

    源码下载 SSMDemo 上一节整合了Mybatis3与Spring4,接下来整合SpringMVC! 说明:整合SpringMVC必须是在web项目中,所以前期,新建的就是web项目! 本节全部采用 ...

  10. SSM整合&lpar;二&rpar;:Spring4与Mybatis3整合

    上一节测试好了Mybatis3,接下来整合Spring4! 一.添加spring上下文配置 在src/main/resources/目录下的spring新建spring上下文配置文件applicati ...

随机推荐

  1. cat命令使用

    cat:concatenate files and print on the standard output合并文件并输出 主要用法 1.cat f1.txt,查看f1.txt文件的内容. 2.cat ...

  2. Koa2 的安装运行记录(二)

    参考 :koa2-boilerplate    https://github.com/superalsrk/koa2-boilerplate Ajax Login and Ajax Logout in ...

  3. Asp&period;net Web&period;Config - 配置元素 httpCookies

    1.属性   属性 说明 domain 可选的 String 属性. 设置 Cookie 域名. httpOnlyCookies 可选的 Boolean 属性. 脚本(javascript之类)能够访 ...

  4. android view :事件

    在view绘制完成后,要想在和view交互一定就要使用事件了,这些事件包括触屏,按键,以及轨迹球,说起轨迹球,在黑莓的手机上常见,现在触屏出来之后基本上就没有这个东西了.这些事件从屏幕上产生出来,会进 ...

  5. JS-定时器换背景

    <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...

  6. u11-nav01

    <header id="masthead" class="masthead" role="banner"> <nav cl ...

  7. Visual Studio 中 UNICODE 宏的设置

    项目属性-> 配置属性 -> 常规 -> 字符集 (多字节字符集即没有设置UNICODE宏, 使用Unicode字符集就是设置了UNICODE宏) 设置的效果可以去 C/C++ -& ...

  8. Lamp下安装memcached

    1.先安装 libevent,再安装 Memcached主程序 # tar xf libevent-2.0.21-stable.tar.gz # cd libevent-2.0.21-stable # ...

  9. Jumpserver之安装在CentOS主机步骤

    环境 系统CentOS7.5 IP:172.16.90.248 关闭防火墙设置selinux systemctl stop firewalld setenforce 0 sed -i "s/ ...

  10. Python中的进程

    进程 from multiprocessing import Process import time def start(name): time.sleep(1) print('hello', nam ...