SSM
SSM
上海海洋大学实验报告
课程名称:Web程序设计
实验名称:Web综合程序设计
学院:信息学院
专业:软件工程
学号:***
姓名:***
ringMVC:它用于web层,相当于controller(等价于传统的servlet和struts的action),用来处理用户请求。举个例子,用户在地址栏输入http://网站域名/login,那么springmvc就会拦截到这个请求,并且调用controller层中相应的方法,(中间可能包含验证用户名和密码的业务逻辑,以及查询数据库操作,但这些都不是springmvc的职责),最终把结果返回给用户,并且返回相应的页面(当然也可以只返回json/xml等格式数据)。springmvc就是做前面和后面过程的活,与用户打交道!!
Spring:太强大了,以至于我无法用一个词或一句话来概括它。但与我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。
MyBatis:如果你问我它跟鼎鼎大名的Hibernate有什么区别?我只想说,他更符合我的需求。第一,它能自由控制sql,这会让有数据库经验的人(当然不是说我啦捂脸)编写的代码能搞提升数据库访问的效率。第二,它可以使用xml的方式来组织管理我们的sql,因为一般程序出错很多情况下是sql出错,别人接手代码后能快速找到出错地方,甚至可以优化原来写的sql。
MyBatis
Mapper.xml配置文件
通过parameterType指定输入参数的类型,类型可以是简单类型,pojo,包装类型,hashmap
使用占位符可以防止sql的注入,在使用时不需要关心参数的类型,mybatis会自动的进行Java与jdbc的转换。#{} 可以接受简单类型和pojo的属性值。如果parameterType中指定的是单个的简单类型,#{}中可以使用value或是其他值。
通过${}可以将parameterType传入的内容拼接在sql中,并且不进行jdbc类型转换,${}可以接受简单类型和pojo的属性值,若parameterType为单个简单类型时,${}中必须使用value。使用${}不能防止sql注入,但有时会很方便,例如:
1 | <select id="findUserByUsername" parameterType="java.lang.String" resultType="User"> |
useGeneratedKeys 设置为”true”表明要 MyBatis 获取由数据库自动生成的主键;keyProperty=”id”指定把获取到的主键值注入到 XXX(实体类) 的 id 属性。
其他
- eclipse与idea机制不同,如果没配置好数据库,jsp引用不了css,idea不管有没有配置好数据库都可以完美引入css。可能idea项目的解藕效果更好?
- 出现了js乱码,其他不会,eclipse配置里面默认把jsp为isoXX编码,配置后无出现乱码
- 在后端写if判断语句对字符串进行判断时,千万不能写成 if(index ==“XX”),这么写字符串一样不一样结果都会是false;对于字符串判断要写成if(index.equals(“XX”));
finalssm
登录
- 自动登录,拦截,cookies登录
- Jquery下拉特效
- 图片轮播
- 检测输入框
- 由于返回的User集合中有密码,setPassword使其为空
- 修补秒杀图片
注册
- 重新设计数据库,增加province,city,area,xiangxi替代Address,增加个人简介,取消图像和身份的唯一标识
- 设计common共有包,包括const类型,response返回参数,serverresponse 共有pojo
- 验证用户名,邮箱是否出现过,并集合到js中
- 初始化禁止按钮
- 邮箱(真实可以发送验证码)
- md5加密
- 增加头像
修改用户个人信息购物资料(同一个接口)
- MultipartFile获取头像
- uuid随机数命名文件上传到服务器
- 检验邮箱电话是否存在,存在修改不了
用户管理
- 显示ip,防黑客
- 增加用户,删除用户,修改用户
- 查找用户去掉id,新增telephone,email
- 增加user列userstate
- 前端接收时间时显示一串数字,需要在后段改一下格式后在发送
订单管理
- 第五页改成第一页
- entity定义跟数据库不相符
- map嵌套list实现多对象查询
- 增加商品id字段并设为dress表dressid字段的外键,增加商品数量
- admin.js代付款重复,改为代收货
- 实现每个类别的数据查询,以及总页面计算
- 每个页面分别显示对应的订单信息
- 页面无法跳转时会弹出提示
- 可实现订单删除
- 单个有多的订单只显示10个,不足10个则按实际显示
商品管理
- 商品删除js存在bug,增加按钮点击后事件
- 新增商品修改js,查询商品所有信息包括图片并显示
- 新增商品修改js,修改商品信息
添加商品
- jsp书城添加改成服装城添加
- 修补预览图片链接
本文使用 CC BY-NC-SA 3.0 中国大陆 协议许可
具体请参见 知识共享协议
本文链接:https://zyhang8.github.io/2019/11/27/ssm/