收藏 分享(赏)

基于MVC的WEB文章系统-----用户管理.doc

上传人:dreamzhangning 文档编号:2989177 上传时间:2018-10-01 格式:DOC 页数:21 大小:434.50KB
下载 相关 举报
基于MVC的WEB文章系统-----用户管理.doc_第1页
第1页 / 共21页
基于MVC的WEB文章系统-----用户管理.doc_第2页
第2页 / 共21页
基于MVC的WEB文章系统-----用户管理.doc_第3页
第3页 / 共21页
基于MVC的WEB文章系统-----用户管理.doc_第4页
第4页 / 共21页
基于MVC的WEB文章系统-----用户管理.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/基于 MVC 的 WEB 文章系统-用户管理模块开发卷宗1 标题软件系统名称和标识符名称:基于 MVC 的 WEB 文章系统标识符:WEB 文章系统模块名称和标识符名称:用户管理标识符:用户管理程序编制员签名王欢修改完成日期2005-5-28 卷宗序号(说明本卷宗在整个卷宗中的序号)编排日期2005-5-282 模块开发情况表3 功能说明功能名称:用户注册功能说明:增加一名用户,用户自己选择用户名,密码等信息。数据结构: 用户名:字符串用户密码:字符串年龄:日期性别:字符Email:字符串个人说明:字

2、符串功能名称:管理员添加功能说明:增加一名管理员,并对密码进行 MD5 加密。数据结构: 用户名:字符串用户密码:字符串更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/权限:字符串描述:字符串功能名称:管理员修改功能说明:修改管理员的基本信息数据结构: 用户名:字符串用户密码:字符串权限:字符串描述:字符串功能名称:密码修改功能说明:修改管理员的密码基本信息数据结构: 用户名:字符串用户密码:字符串权限:字符串描述:字符串功能名称:管理员删除功能说明:删除选择的管理员数据结构: 用户名:字符串用户密码:字符串权限:字符串描述:字符串4 设计说明1.

3、 用户注册模块更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/用户登录模块更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/管理员管理管理员登陆更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/5 数据字典管理员表(admin)字段名称 描述 数据类型 字段长度 可否为空Id Id 号 int auto_increment 否UserName 管理员名称 varchar

4、 20 否Password 管理员密码 varchar 25 否Groups 管理员归组 varchar 10 否Description 管理员描述 varchar 500 否用户表(users)字段名称 描述 数据类型 字段长度 可否为空Id Id 号 int auto_increment 否UserName 用户名 varchar 30 否Password 用户密码 varchar 50 否Sex 用户性别 Int 否NickName 用户昵称 varchar 50 否更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/Question 密码问题

5、varchar 50 否Answer 问题答案 varchar 50 否Birthday 生日 smalldatetime 否QQ qq 号 Int 否UC UC 号 int 否Address 地址 varchar 200 否Email E-Mail 地址 varchar 30 否HomePage 个人主页 varchar 50 否SelfDesc 签名(描述) varchar 300 否Articles 发布文章数 Int 否RegistryIP 注册 IP varchar 50 否RegistryDate 注册日期 datetime 否LastLogin 最后登陆时间 datetime 否

6、LoginTimes 登陆次数 int 否Charm 魅力值 int 否IsActive 帐号是否被激活 int 否IsAdmin 是否是管理员 int 否VerifyCode 激活代码 varchar 50 否5.2 程序代码5.2.1 管理员管理import java.sql.ResultSet;import java.sql.Statement;import java.sql.PreparedStatement;import java.util.Collection;import java.util.ArrayList;import java.sql.Connection;import

7、java.sql.SQLException;import cn.edu.cumt.util.MD5;import cn.edu.cumt.util.DataBaseConn;public class AdministratorData /* Get administrator by username* param userName String* param dataSource DataSource* throws Exception* return Administrator*/public static Administrator getAdministratr(String userN

8、ame) throws更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/Exception Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;Administrator admin = null;try conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“SELECT * FROM admin WHERE UserName = ?“);pstmt.setString(1,u

9、serName);rs = pstmt.executeQuery();if(rs.next()admin = new Administrator();admin.setId(rs.getInt(“id“);admin.setUserName(rs.getString(“UserName“);admin.setPassword(rs.getString(“Password“);admin.setGroups(rs.getString(“Groups“);admin.setDescription(rs.getString(“Description“);elsethrow new Exception

10、(userName+“Not Found“);finally if (rs != null) rs.close();if (pstmt != null) pstmt.close();if (conn != null) conn.close();return admin;/* Get all of the administrator* param dataSource DataSource* return ArrayList*/public static Collection getAdministrators()Administrator admin = null;Collection adm

11、ins = new ArrayList();Connection conn = null;更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/Statement stmt = null;ResultSet rs = null;tryconn = DataBaseConn.getConnection();stmt = conn.createStatement();rs = stmt.executeQuery(“SELECT * FROM admin ORDER BY id DESC“);while(rs.next()admin = new Adminis

12、trator();admin.setId(rs.getInt(“id“);admin.setUserName(rs.getString(“UserName“);/ System.out.println(“:“+rs.getString(“UserName“).getBytes(“UTF-8“).toString();admin.setPassword(rs.getString(“Password“);admin.setGroups(rs.getString(“Groups“);admin.setDescription(rs.getString(“Description“);admins.add

13、(admin);catch(Exception e)System.err.println(e.toString();finallyif(rs !=null)tryrs.close();catch(SQLException e)System.err.println(e.getMessage();if(stmt != null)trystmt.close();catch(SQLException e)System.err.println(e.getMessage();if(conn != null)tryconn.close();catch(SQLException e)System.err.pr

14、intln(e.getMessage();更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/return admins;/* Add the administrator* param admin Administrator* param dataSource DataSource* throws Exception*/public static void addAdministrator(Administrator admin)throws ExceptionConnection conn = null;PreparedStatement pstmt

15、 = null;MD5 md5 = new MD5();tryconn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“INSERT INTO admin(UserName,Password,Groups,Description)VALUES(?,?,?,?)“);pstmt.setString(1,admin.getUserName();pstmt.setString(2,md5.getMD5ofStr(admin.getPassword();pstmt.setString(3,admin.getGroups();p

16、stmt.setString(4,admin.getDescription();pstmt.executeUpdate();finallyif(pstmt != null)pstmt.close();if(conn != null)conn.close();/* remove the administrator by username* param userName String* param dataSource DataSource* throws Exception*/public static void delAdministrator(int id)throws ExceptionC

17、onnection conn = null;PreparedStatement pstmt = null;更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/tryconn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“DELETE FROM admin WHERE id=?“);pstmt.setInt(1,id);pstmt.executeUpdate();finallyif(pstmt!= null)pstmt.close();if(conn != null)conn.

18、close();/* update the administrator* param admin Administrator* param dataSource DataSource* throws Exception*/public static void updateAdministrator(Administrator admin)throws ExceptionConnection conn = null;PreparedStatement pstmt = null;MD5 md5 = new MD5();tryconn = DataBaseConn.getConnection();p

19、stmt = conn.prepareStatement(“UPDATE admin SET UserName=?,Password=?,Groups=?,Description=? WHERE id=?“);pstmt.setString(1,admin.getUserName();pstmt.setString(2,md5.getMD5ofStr(admin.getPassword();pstmt.setString(3,admin.getGroups();pstmt.setString(4,admin.getDescription();pstmt.setInt(5,admin.getId

20、();pstmt.executeUpdate();finallyif(pstmt != null)pstmt.close();if(conn !=null)conn.close();更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/5.2.2 用户管理import javax.servlet.http.HttpSession;import cn.edu.cumt.util.DataBaseConn;import cn.edu.cumt.util.SHA;import cn.edu.cumt.util.MD5;import java.sql.Conne

21、ction;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.ResultSet;import java.util.Collection;import java.util.ArrayList;public class UserData /* 判断用户是否正确登陆* param userName 用户名* param password 密码* param session 会话* return 是否登陆成功* throws java.lang.Exception*/public static

22、 boolean checkLogin(String userName, String password,HttpSession session) throwsException boolean loginOk = false;MD5 md5 = new MD5();User u = new User();Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“S

23、ELECT * FROM users WHERE UserName=? AND Password=? AND isActive=1“);pstmt.setString(1, userName);/ pstmt.setString(2, SHA.hashPassword(password);pstmt.setString(2, md5.getMD5ofStr(password);rs = pstmt.executeQuery();if (rs.next() loginOk = true;更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/ 更新最后登陆时

24、间和登陆次数* 每登陆一次魅力加 200*/updateUserStatus(userName);u = getUser(userName);session.setAttribute(“USER“, u);finally if (rs != null) rs.close();if (pstmt != null) pstmt.close();if (conn != null) conn.close();return loginOk;/* 根据用户名提取用户对象* param userName 用户名* return 用户对象* throws java.lang.Exception*/public

25、 static User getUser(String userName) throws Exception User user = null;Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“SELECT * FROM users WHERE UserName=?“);pstmt.setString(1, userName);rs = pstmt.exec

26、uteQuery();if (rs.next() user = new User();user.setId(rs.getInt(“id“);user.setUserName(rs.getString(“UserName“);user.setPassword(rs.getString(“Password“);更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/user.setSex(rs.getInt(“Sex“);user.setNickName(rs.getString(“NickName“);user.setQuestion(rs.getStrin

27、g(“Question“);user.setAnswer(rs.getString(“Answer“);user.setBirthday(new java.util.Date(rs.getDate(“Birthday“).getTime();user.setQQ(rs.getInt(“QQ“);user.setUC(rs.getInt(“UC“);user.setAddress(rs.getString(“Address“);user.setEmail(rs.getString(“Email“);user.setHomePage(rs.getString(“HomePage“);user.se

28、tSelfDesc(rs.getString(“SelfDesc“);user.setArticles(rs.getInt(“Articles“);user.setRegistryIP(rs.getString(“RegistryIP“);user.setRegistryDate(new java.util.Date(rs.getDate(“RegistryDate“).getTime();user.setLastLogin(new java.util.Date(rs.getDate(“LastLogin“).getTime();user.setLoginTimes(rs.getInt(“lo

29、ginTimes“);user.setCharm(rs.getInt(“Charm“);user.setIsActive(rs.getBoolean(“IsActive“);user.setIsAdmin(rs.getBoolean(“IsAdmin“);user.setVerifyCode(rs.getString(“VerifyCode“);finally if (rs != null) rs.close();if (pstmt != null) pstmt.close();if (conn != null) conn.close();return user;public static C

30、ollection getUsers() throws Exception Collection users = null;Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try 更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“SELECT * FROM users“);rs = pstmt.executeQuery(

31、);users = new ArrayList();while(rs.next()User user = new User();user = new User();user.setId(rs.getInt(“id“);user.setUserName(rs.getString(“UserName“);user.setPassword(rs.getString(“Password“);user.setSex(rs.getInt(“Sex“);user.setNickName(rs.getString(“NickName“);user.setQuestion(rs.getString(“Quest

32、ion“);user.setAnswer(rs.getString(“Answer“);user.setBirthday(new java.util.Date(rs.getDate(“Birthday“).getTime();user.setQQ(rs.getInt(“QQ“);user.setUC(rs.getInt(“UC“);user.setAddress(rs.getString(“Address“);user.setEmail(rs.getString(“Email“);user.setHomePage(rs.getString(“HomePage“);user.setSelfDes

33、c(rs.getString(“SelfDesc“);user.setArticles(rs.getInt(“Articles“);user.setRegistryIP(rs.getString(“RegistryIP“);user.setRegistryDate(new java.util.Date(rs.getDate(“RegistryDate“).getTime();user.setLastLogin(new java.util.Date(rs.getDate(“LastLogin“).getTime();user.setLoginTimes(rs.getInt(“loginTimes

34、“);user.setCharm(rs.getInt(“Charm“);user.setIsActive(rs.getBoolean(“IsActive“);user.setIsAdmin(rs.getBoolean(“IsAdmin“);user.setVerifyCode(rs.getString(“VerifyCode“);users.add(user);finally if (rs != null) rs.close();if (pstmt != null) pstmt.close();if (conn != null) conn.close();更多相关参考论文设计文档资源请访问 h

35、ttp:/ 68661508。索要或访问 https:/return users;/* 添加用户* param user 要添加的用户* throws java.lang.Exception*/public static void addUser(User user) throws Exception Connection conn = null;PreparedStatement pstmt = null;/* 判断是否已经存在的用户*/if (getUser(user.getUserName() != null) throw new Exception(“你注册的用户已经存在,请你选择其他

36、用户.“);try MD5 md5 = new MD5();conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“INSERT INTO users(UserName,Password,Sex,NickName,Question,Answer,Birthday,QQ,UC,Address,Email,HomePage,SelfDesc,RegistryIP,RegistryDate,LastLogin,VerifyCode)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,Now(),Now()

37、,?)“);pstmt.setString(1, user.getUserName();/ pstmt.setString(2, SHA.hashPassword(user.getPassword();pstmt.setString(2, md5.getMD5ofStr(user.getPassword();pstmt.setInt(3, user.getSex();pstmt.setString(4, user.getNickName();pstmt.setString(5, user.getQuestion();pstmt.setString(6, user.getAnswer();pst

38、mt.setDate(7, new java.sql.Date(user.getBirthday().getTime();pstmt.setInt(8, user.getQQ();pstmt.setInt(9, user.getUC();pstmt.setString(10, user.getAddress();pstmt.setString(11, user.getEmail();pstmt.setString(12, user.getHomePage();pstmt.setString(13, user.getSelfDesc();pstmt.setString(14, user.getR

39、egistryIP();/ pstmt.setDate(15, new java.sql.Date(new java.util.Date().getTime();pstmt.setString(15, user.getVerifyCode();pstmt.executeUpdate();更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/finally if (pstmt != null) pstmt.close();if (conn != null) conn.close();/* 获得注册人数* return 人数* throws SQLExcep

40、tion* throws java.lang.Exception*/public static int getRegistryNo() throws SQLException, Exception int registryNo = 0;Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“SELECT count(*) FROM users“);rs = pst

41、mt.executeQuery();rs.next();registryNo = rs.getInt(1);finally if (rs != null) rs.close();if (pstmt != null) pstmt.close();if (conn != null) conn.close();return registryNo;/*更多相关参考论文设计文档资源请访问 http:/ 68661508。索要或访问 https:/* 增加用户发表文章数目* param userName 用户名* throws SQLException* throws java.lang.Exceptio

42、n*/public static void addPostArticleNumber(String userName) throwsSQLException,Exception Connection conn = null;PreparedStatement pstmt = null;try conn = DataBaseConn.getConnection();pstmt = conn.prepareStatement(“UPDATE users SET Articles=Articles+1 WHERE UserName=?“);pstmt.setString(1, userName);pstmt.executeUpdate();finally if (pstmt != null) pstmt.close();if (conn != null) conn.close();/* 用户登陆后更新用户信息(最后登陆时间和登陆次数每登陆一次魅力加 200)* param user

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报