1.添加依赖jar包
commons-codec 1.10
commons-codec
commons-codec
1.10
2.测试类
@Test
public void test() throws Exception{
//MD5加密后的字符串
String str1 =
DigestUtils.md5Hex("123456");
String str2 =
DigestUtils.md5Hex("123456");
//System.out.println(str1);
//System.out.println(str2);
//同过消息摘要判断文件的内容是否相同
String fileStr1 =
DigestUtils.md5Hex(
new FileInputStream("pom.xml"));
String fileStr2 =
DigestUtils.md5Hex(
new FileInputStream("pom2.xml"));
System.out.println(fileStr1);
System.out.println(fileStr2);
}
3.结论:
同样的数据,消息摘要相同
消息摘要相同,来源于相同的数据
## salt 加盐
123456 + “你喜欢编程吗?”
## 把学习商城的密码进行加密处理
注册 登录 修改密码
##文件上传
1.导入jar包 commons-io; commons-fileupload
commons-io
commons-io
1.2
commons-fileupload
commons-fileupload
1.2
2.配置spring-mvc上传的上传组件解析器
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
3.定义上传功能的表单
4.定义上传功能的控制器
@RequestMapping("/doUpload.do")
public String doUpload(MultipartFile file) throws IllegalStateException, IOException{
file.transferTo(
new File(
"d:/",file.getOriginalFilename()
));
return "redirect:../main/showIndex.do";
}
##学子商城-头像上传
上传图片的页面
function getImage(){
//创建表单数据对象
var formData = new FormData();
//获取file节点
var fileNode = document.getElementById("iconPic");
formData.append("file",fileNode.files[0]);
$.ajax({
"url":"${pageContext.request.contextPath}/user/upload.do",
"data":formData,
"type":"POST",
"dataType":"json",
"contentType":false,
"processData":false,
"success":function(obj){
alert(obj.state+","+obj.message);
//实现页面显示图片。
var url =
window.URL.createObjectURL(fileNode.files[0]);
//在img标签中,定义src属性值为,url(通过files得到的第一file)
icon.src=url;
}
});
}
上传图片的控制器方法
在UserController 类定义方法
@
@
public ResponsResult
upload(
@RequestParam("file") MultipartFile file){
1.file提供的方法,实现上传的功能
2.返回rr对象 ,1,“上传成功”
}
保存上传头像的数据
1)持久层UserMapper接口中定义方法
void updateImageById(@Param("image") String image,@Param("id") Integer id);
在UserMapper.xml文件中,编写update语句
update t_user
set image = #{image}
where id=#{id}
2)业务层
在IUserService接口中,定义方法,同持久层
在UserService类中,实现该方法,调用持久层方法