java-日记本(完结)

来源:互联网 发布:软件企业证书管理办法 编辑:程序博客网 时间:2024/05/05 12:24
个人信息修改实现
一.FileUpload组件引入
这是一个上传组件

二.个人信息修改实现
1.修改userDao,添加一个返回值是int的userUpdate(),参数是connection和user。
2.写一个sql语句。(update t_user set nickName=?,imageName=?,mood=? whereuserId=?)
3.使用prepareStatement执行,设置问号的值,返回pstmt的值。
4.修改userSave.jsp,添加一个action(user?action=save)、enctype=“multipart/form-date”(图片通过二进制上传)、onsubmit()。在返回按钮后面加个font,放error的值
5.修改userServlet中的dopost(),添加一个action的值是save,调用userSave方法。
6.新建userSave方法,初始化一个工厂(FileItemFactory factory = newDiskFileItemFactory),new一个servletFileUpload()参数是factory,属性值是servletFileUpload的upload。定义一个属性是List的items为空。调用upload的parserRequest的值传给items。再遍历一个属性值为Iterator的itr,定义一个session,再定义一个user,将session中获取currentUser强制转换成user类型,假如itr有下一个值的话,对item遍历(FileItemitem =(FileItem)itr.next()),这个项有两种表达方式,一种是普通表达(个人昵称,心情),isFormField。定义一个fieledName从item获取fieledName(前台表单的名字),如果fieledName等于nickName,user调用setNickName。mood同理。第二种情况是文件上传,加个小判断,item的内容不为空的话,定一个一个String类型的imageName,调用DateUtil中的getCurrentDateStr。然后调用user的setImageName,参数是imageName加上item的名字(对其分割。后的第二个参数)。定义一个上传路径filePath(从配置文件中取imagePath+imageName+item分割后的后缀)。
进行上传,调用item的write方法,参数是new一个file。
7.在DateUtil中,添加一个返回值为String类型的getCurrentDateStr方法,new一个date,然后使用simpleDateFormat格式化为yyyyMMddhhmmss,返回格式化后的值。
8.修改diary.properties,添加一个硬盘路径imagePath(绝对路径)
9.判断imageChange是否修改,改了的话,user设置imageName,参数是user获得imageName并且replace里面的配置文件中imageFile的值变成空
10.添加一个flag,判断用户是否有更新图片,如果没有的话,还是用原来数据库中的图片名称。在userSave方法中遍历itr之前添加,定义一个boolean属性的imageChange,默认为false。如果图片上传了,则改成true。
11.连接数据库,调用userDao中的userUpdate返回一个int类型的saveNums,如果saveNums大于0的话,user设置imageName,参数是配置文件中imageFile的值+user的imageName。session重新设置一个currenUser,内部转发到main?all=true。else的话,request重新setattribute一个currenUser和error,setAttribute一个“mainPage”,值为user/userSave.jsp。然后进行内部转发到mainTemp。

0 0
原创粉丝点击