手把手教你SSM搭建Easymall电商项目 (四)
一.删除商品功能
在真实实战项目中,没有删除商品功能,用更新替代,我简单展示一下其功能
1.1代码实现
1.2代码实现
1.3代码实现
1.4代码实现
1.5功能实现
二.图片上传处理 这个柯南柯南的了
2.1代码实现
2.2代码实现
2.3代码实现 代码太长不解释了 自己看着都痛疼
package com.jt.easymall.service;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.UUID;
import javax.imageio.ImageIO;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.jt.easymall.util.UploadUtil;
import com.jt.easymall.vo.PicUploadResult;
@Service
public class PicUploadService {
public PicUploadResult uploadPic(MultipartFile picUploadFile) {
PicUploadResult result=new PicUploadResult();
//拿到图片源文件名称,解析后缀是否合法;
String oldName=picUploadFile.getOriginalFilename();
//oldName=assaasdfafsadf.jpg
//解析后缀
String extName=oldName.substring(oldName.lastIndexOf("."));
//判断合法,满足后缀是jpg.png,gif其中一个就行,正则表达式
if(!(extName.matches("^.(png|jpg|gif)$"))){
result.setError(1);
return result;
}
//获取图片的宽和高,并且生成路径存储的公用地址
//根据图片的上传名称生成/upload/1/2/d/3/d/3/d/
String dir=UploadUtil.getUploadPath(oldName, "upload")+"/";
//生成一个存储路径
//使用相对路径,拼接dir完成存储路径生成,相对项目根目录
String path="./src/main/webapp/"+dir;
//生成一个url路径http://image.jt.com/+dir
String urlPath="http://127.0.0.1/"+dir;
//从数据中获取宽和高
try{
BufferedImage img = ImageIO.read(picUploadFile.getInputStream());
//获取宽高封装result
result.setWidth(img.getWidth());//如果不是图片数据,获取不到宽高
result.setHeight(img.getHeight());
//将图片上传
//创建path文件夹
File _dir=new File(path);
if(!_dir.exists()){ //判断是否是同一个照片
_dir.mkdirs();
}
//重命名图片
String fileName=UUID.randomUUID().toString()+extName;
picUploadFile.transferTo(new File(path+fileName));
//赋值url地址
String url=urlPath+fileName;
result.setUrl(url);
}catch(Exception e){ //上传不是图片直接报异常 上传为1 说明报错
result.setError(1);
return result;
}
return result;
}
}
2.4功能实现
三.用户功能(注册功能)
3.1代码实现
3.2代码实现
3.3代码实现
3.4代码实现
密码加密了 MD5
四.密码MD5加密
4.1代码实现
4.2代码实现
4.3代码实现(MD5工具类无需深究,会用即可)
4.4代码实现
4.5代码实现
4.4效果实现
项目已上传