数据库课程设计-备忘录管理系统.docx_第1页
数据库课程设计-备忘录管理系统.docx_第2页
数据库课程设计-备忘录管理系统.docx_第3页
数据库课程设计-备忘录管理系统.docx_第4页
数据库课程设计-备忘录管理系统.docx_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课题名称:数据库原理课程设计专业:班级:姓名:学号:指导老师:时间:目录课程设计报告1摘要2第一章 引言21.1开发背景与现状21.2开发设计的意义2第二章 系统分析32.1用户对系统的要求32.1.1功能需求:32.1.2 用户登录模块3第三章 系统功能概述43.1.0数据库物理设计表41.事项表:42.用户详细信息表:53.关联表:53.1.0系统用户类别:学生、上班族等需要记事的各类人士。53.1.1 E-R图53.1.2功能图:6第四章 系统总体设计思路65.1 后台代码简介65.2 前台7第五章 具体功能实现:71.使用工具:72.登陆界面:8第四章 总结22摘要在今天这个充斥着各种激烈竞争的重压时代,每个人都在忙碌的生活着。小孩子要上各种辅导班,培养很多特长的同时还要完成学校布置的作业,大孩子学习任务更重,努力考上好学校,在我们的忙碌琐碎日常生活中,会有很多需要记忆的工作。但人的记忆是有限的,我们需要一个能提醒和安排我们工作的东西,如何井井有条的处理和安排任务,在有限的时间内完成最紧急最重要的事情,备忘录提示软件对我们而言尤为重要。该备忘录是基于Myeclipse2010开发;后台选用Mysql作为数据库服务器。关键词:备忘录、Myeclipse2010、Mysql第一章 引言1.1开发背景与现状计算机网络是计算机技术和通信技术紧密结合的产物,它涉及到通信与计算机两个领域。它的诞生使计算机体系结构发生了巨大变化,在当今社会经济中起着非常重要的作用,它对人类社会的进步做出了巨大贡献。从某种意义上讲,计算机网络的发展水平不仅反映了一个国家的计算机科学和通信技术水平,而且已经成为衡量其国力及现代化程度的重要标志之一。我们结合本次课程设计开发以下的学生备忘录管理系统方案。学生备忘录管理系统是大学生生活、工作小秘书软件,本软件实现个人备忘录的管理、查询备忘录事项,查看未完成事件,添加新备忘录,删除备忘录,修改备忘录的功能。1.2开发设计的意义为了提高工作效率,充分利用资源;减少不必要的人力,物力和财力的支出;方便人们查询和记事,开发设计了专用-迷你备忘录。它将实现检索迅速和查找方便;信息的录入,修改和删除功能。随着生活水平的提高,人们的生活节奏越来越快,每天都要处理很多事情,而又会常常因忘记处理重要的事情而苦恼。鉴于此,本系统主要为了更好地管理个人的备忘录,让使用者的生活井然有序,不会忘记重要的会议和约会。第二章 系统分析2.1用户对系统的要求2.1.1功能需求:通过分析大学生日常生活记录的实际需求:一个备忘录管理系统应该包括:查看当天备忘录;查看指定日期的备忘录;查看未完成的备忘录事项;根据据用户的需求可以添加、删除、以及修改用户所指定的备忘录信息等模块,但考虑到个人的隐私不被人看到,在本系统中增设了用户登录模块以确保信息安全。学生备忘录管理系统需求分析报告2.1.2 用户登录模块 每个用户,只能以自己的密码登录到系统中,在系统里,只能处理、查看自己的备忘录,对别人的数据无法修改和查看。 因为此系统是专门给个人设计的,鉴于隐私问题,个人备忘录信息不希望别人看到,因此登录的身份就一种:只准使用者登录,使用者充当管理员的角色。具有全部的权限。21.3用户注册系统当用户第一次登录到系统时,就可以进行注册2.14备忘录浏览系统1)查看当天备忘录信息模块主要负责:当登录管理系统时,出现的是当天的备忘录信息,供使用者快速查阅;还能通过备忘录标题关键字,备忘录类型,事件优先度进行快速查询。当新增,修改删除备忘录后,查看当天备忘录子模块会自动更新到最新状态。2)查看指定日期备忘录信息模主要负责:当使用者想查看某天的安排时,只需选择日期就可方便的查询到备忘录信息安排;还能通过备忘录标题关键字,备忘录类型,事件优先度进行快速查询。2.1.5备忘录管理系统1)初始化备忘录模块主要负责:当使用者登录系统后,系统会自动初始化备忘录信息:将以前已完成的备忘录但还属于未完成标志的事件,标志为完成;初始化增加,删除,修改界面的信息。2)添加新备忘录模块主要负责基本备忘录信息录入,如新备忘录标题,内容,备忘录类型,开始时间,结束时间,提醒时间,提醒类型,事件优先度,是否提醒等信息的录入及相关数据连接处理。所添加的备忘录,会快速的在修改界面下方显示出来。3)修改备忘录模块主要负责基本备忘录信息修改,使用者通过查询工具查询到要修改的备忘录,该备忘录会显示在修改界面下方中,然后只需点击该备忘录,就可方便在修改界面中进行修改。4)删除备忘录模块 主要负责基本备忘录信息的删除,使用者通过查询工具查询到要删除的备忘录,该备忘录会显示在删除界面下方中,然后只需点击该备忘录,再点击删除按钮,就可方便的进行删除。5系统维护系统1)系统退出模块主要负责系统的退出2)用户信息修改模块主要负责修改用户的信息,如修改密码。第三章 系统功能概述3.1.0数据库物理设计表1.事项表:字段名字段类型长度小数点允许空值主键event_idint200usernamevarchar200contentvarchar1500datedate00typevarchar20statevarchar202.用户详细信息表:字段名字段类型长度小数点允许空值主键usernamevarchar200passwordvarchar2003.关联表:字段名字段类型长度小数点允许空值主键idint110usernamevarchar5003.1.0系统用户类别:学生、上班族等需要记事的各类人士。3.1.1 E-R图3.1.2功能图: 用户添加事件删除事件修改事件查找事件第四章 系统总体设计思路5.1 后台代码简介 系统后台代码分为5层结构,分别为model层、util层、dao层、web层以及、filter层、遵循MVC设计模式。Model层是实体类,util层是工具,dao层是方法,web层是视图层,filter层是过滤器。通过前台获取数据到web层,web层调用其他层的类和方法,用servlet控制,然后返回数据到前台界面。5.2 前台前台使用jsp页面显示引用easyui前台界面框架。第五章 具体功能实现:1.使用工具:Myeclipse 2010、Mysql、Microsoft Word、Microsoft Visio2.登陆界面:代码:public class UsersAction extends HttpServlet private static final long serialVersionUID = 1L;Users users = null;UsersService usersservice = null;protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException req.setCharacterEncoding(UTF-8);resp.setCharacterEncoding(UTF-8);String method = req.getParameter(method);if (method.equals(doLogin) /登录doLogin(req,resp);else if (method.equals(doRegister)/注册try doRegister(req,resp); catch (SQLException e) e.printStackTrace();else if(method.equals(exit)exit(req,resp);protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException this.doGet(req, resp);/* * 登录账号、密码验证 */private void doLogin(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOExceptionString cooks = null; String username = null; String password = null; int seconds=365*24*60*60; users = new Users();usersservice = new UsersService();Cookie cookies = req.getCookies(); if (!cookies.equals(null) for (Cookie coo : cookies) String aa = coo.getValue(); cooks = aa.split(=); if (cooks.length = 2) username = cooks0; password = cooks1; System.out.println(记住登录+username); users.setUsername(username);users.setPassword(password);System.out.println(username+password);Users loginCheck = usersservice.loginCheckService(users); if (loginCheck.getUsername()!= null | loginCheck.getPassword()!=null)Cookie cookie = new Cookie(user, users.getUsername()+=+users.getPassword(); cookie.setMaxAge(seconds); resp.addCookie(cookie); System.out.println(自动登录成功!);req.getSession().setAttribute(username, loginCheck.getUsername();resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);/调用查询未办事情方法,在主页显示未办事情。elseusers.setUsername(req.getParameter(username);users.setPassword(req.getParameter(password);loginCheck = usersservice.loginCheckService(users); if (users.getUsername()=null | users.getUsername().trim()=)req.setAttribute(msg, 请输入账号!);req.getRequestDispatcher(login.jsp).forward(req, resp);else if (users.getPassword() = null | users.getPassword().trim()=)req.setAttribute(msg, 请输入密码!);req.setAttribute(loginusername,req.getParameter(username);req.getRequestDispatcher(login.jsp).forward(req, resp);else if (loginCheck.getUsername()= null | loginCheck.getPassword()=null)req.setAttribute(msg, 账户或密码有错误!);req.getRequestDispatcher(login.jsp).forward(req, resp);elseCookie cookie = new Cookie(user, users.getUsername()+=+users.getPassword(); cookie.setMaxAge(seconds); resp.addCookie(cookie); System.out.println(手动登录成功!);req.getSession().setAttribute(username, loginCheck.getUsername();resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);/调用查询未办事情方法,在主页显示未办事情。/* * 用户注册 */public void doRegister(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException, SQLExceptionint i = 2;/判断用户输入的账户是否已经被注册了,返回的值为i=0 - 此账号已被注册 i=1 可以注册此账号。users = new Users();usersservice = new UsersService();/获取服务器生成的验证码String checkcode = (String) req.getSession().getAttribute(checkcode);/获取自动生成的验证码String usercheckcode = req.getParameter(j_captcha);/获取用户输入的验证码。users.setUsername(req.getParameter(username);if (req.getParameter(username) = null | req.getParameter(username).trim()=)req.setAttribute(msg, 请输入您想注册的账号!);req.getRequestDispatcher(register.jsp).forward(req, resp);else if(req.getParameter(password1) = null | req.getParameter(password1).trim()=)req.setAttribute(msg, 请输入密码!);req.setAttribute(loginusername,req.getParameter(username);req.getRequestDispatcher(register.jsp).forward(req, resp);else if (!req.getParameter(password1).equals(req.getParameter(password2)req.setAttribute(msg, 两次输入的密码不一致!);req.setAttribute(loginusername,req.getParameter(username);req.getRequestDispatcher(register.jsp).forward(req, resp);else if (!checkcode.equalsIgnoreCase(usercheckcode)req.setAttribute(msg, 验证码不正确!!);req.setAttribute(loginusername,req.getParameter(username);req.setAttribute(loginpassword,req.getParameter(password1);req.getRequestDispatcher(register.jsp).forward(req, resp);elsei = usersservice.registerService(users.getUsername(),req.getParameter(password1);System.out.println(i=+i);if(i = 0)req.setAttribute(msg, 此账号已被注册!!);req.getRequestDispatcher(register.jsp).forward(req, resp);else if(i = 1)req.getRequestDispatcher(registerOK.jsp).forward(req, resp);/* * 用户退出系统 */public void exit(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOExceptionSystem.out.println(退出系统);Cookie cookie = new Cookie(user, null); /将之前设置Cookie值设置为空cookie.setMaxAge(0); / 设置存活时间为0.此时cookie就会自动注销 resp.addCookie(cookie); req.getRequestDispatcher(login.jsp).forward(req, resp);修改删除可进行添加、修改增添用户:package com.gxuwz.note.action;import java.io.IOException;import java.text.ParseException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.gxuwz.note.bean.Event;import com.gxuwz.note.service.AddContentService;public class AddContentAction extends HttpServlet private static final long serialVersionUID = 1L;Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException req.setCharacterEncoding(UTF-8);/设置编码格式resp.setCharacterEncoding(UTF-8);String method = req.getParameter(method);/接值if (method.equals(addContent) /登录try addContent(req,resp); catch (ParseException e) e.printStackTrace();Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException this.doGet(req, resp);/* * 添加事件 */private void addContent(HttpServletRequest req,HttpServletResponse resp) throws ParseException, ServletException, IOExceptionEvent event = new Event();AddContentService addContentService =new AddContentService();String username = (String) req.getSession().getAttribute(username);/通过session获取用户登录后的用户名String date = req.getParameter(EntTime);if (req.getParameter(event_id).trim() = ) /新增事情(新增与重新编辑是同一按钮,用evevt_id是否为空区分)if(date = )event.setDate(null);elseevent.setDate(req.getParameter(EntTime);event.setContent(req.getParameter(content);event.setType(req.getParameter(type);event.setUsername(username);System.out.println(=+event);addContentService.addContent(event);resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);/调用查询未办事情方法,显示未办事情。else /重新编辑事情updateEvent(req,resp);/* * 重新编辑的更新 */private void updateEvent(HttpServletRequest req,HttpServletResponse resp) throws IOExceptionEvent event = new Event();AddContentService addContentService =new AddContentService();event.setEnvet_id(req.getParameter(event_id);event.setContent(req.getParameter(content);event.setDate(req.getParameter(EntTime);event.setType(req.getParameter(type);addContentService.updateEventContent(event);if (req.getParameter(state).equals(0)resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);else if (req.getParameter(state).equals(1)resp.sendRedirect(QueryEventAction?method=okDo&nextPage=99);else if (req.getParameter(state).equals(2)resp.sendRedirect(QueryEventAction?method=todayNoDo&nextPage=99);删、改:package com.gxuwz.note.action;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.gxuwz.note.bean.Event;import com.gxuwz.note.service.AlterEventService;import com.gxuwz.note.service.QueryEventService;public class AlterEventAction extends HttpServlet private static final long serialVersionUID = 1L;AlterEventService aes = new AlterEventService();Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException req.setCharacterEncoding(UTF-8);resp.setCharacterEncoding(UTF-8);String method = req.getParameter(method);if (method.equals(alterNoDoToOkDo)alterNoDoToOkDo(req, resp);else if (method.equals(alterOkDoToNoDo)alterOkDoToNoDo(req, resp);else if (method.equals(alterDelete)alterDelete(req,resp);else if (method.equals(updateImportant)updateImportant(req,resp);Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException this.doPost(req, resp);/* * 未办的修改为已办 */public void alterNoDoToOkDo(HttpServletRequest req,HttpServletResponse resp) throws IOExceptionaes.noDoToOkDo(req.getParameter(event_id);resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);/修改后显示未办事情界面/* * 已办的修改为未办 */public void alterOkDoToNoDo(HttpServletRequest req,HttpServletResponse resp) throws IOExceptionaes.OkDoToNoDo(req.getParameter(event_id);resp.sendRedirect(QueryEventAction?method=okDo&nextPage=99);/修改后显示已办事情界面/* * 删除事情 */public void alterDelete(HttpServletRequest req,HttpServletResponse resp) throws IOExceptionSystem.out.println(state=+req.getParameter(state);aes.alterDelete(req.getParameter(event_id);if (req.getParameter(state).equals(1)resp.sendRedirect(QueryEventAction?method=okDo&nextPage=99);/跳转已办界面else if (req.getParameter(state).equals(0)resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);/跳转未办界面else resp.sendRedirect(QueryEventAction?method=todayNoDo&nextPage=99);/跳转今日未办界面/* * 重要事件与一半事件间的切换 */public void updateImportant(HttpServletRequest req,HttpServletResponse resp) throws IOExceptionSystem.out.println(event_id=+req.getParameter(event_id)+type=+req.getParameter(type);System.out.println(req.getParameter(state);aes.updateImportantContent(req.getParameter(event_id), req.getParameter(type);if (req.getParameter(state).equals(1)resp.sendRedirect(QueryEventAction?method=okDo&nextPage=99);/跳转已办界面else if (req.getParameter(state).equals(0)resp.sendRedirect(QueryEventAction?method=noDo&nextPage=99);/跳转未办界面else resp.sendRedirect(QueryEventAction?method=todayNoDo&nextPage=99);/跳转今日未办界面查询:package com.gxuwz.note.action;import java.io.IOException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.gxuwz.note.bean.Event;import com.gxuwz.note.service.QueryEventService;public class QueryEventAction extends HttpServlet private static final long serialVersionUID = 1L;int currentPage = 0;QueryEventService queryEventService = new QueryEventService();/* * 查询今日待办、待办、未办 * (non-Javadoc) * see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException req.setCharacterEncoding(UTF-8);resp.setCharacterEncoding(UTF-8);String method = req.getParameter(method);if (method.equals(noDo) | method.equals(okDo) | method.equals(todayNoDo)currentPage = 0;if (method.equals(noDo) | method.equals(0) /未办noDoEvent(req ,resp);else if (method.equals(okDo) | method.equals(1) /已办okDoEvent(req ,resp);else if (method.equals(todayNoDo) | method.equals(2)todayNoDoEvent(req,resp);else if (method.equals(queryEdit)queryEditEvent(req,resp);else if (method.equals(queryImportant)queryImportantEvent(req,resp);Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException this.doPost(req, resp);/* * 查询未办事情列表 */public void noDoEvent(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOExceptionString username = (String) req.getSession().getAttribute(username);if (req.getParameter(nextPage).equals(12) /向下翻12条记录currentPage = currentPage + 12;if (req.getParameter(nextPage).equals(-12) /向上翻12条记录currentPage = currentPage -12;if (currentPage 0) /页数不能未负currentPage = 0;List list = queryEventService.queryEvent(username,0,currentPage); /查询未办事情,传值0req.setAttribute(list, list);req.setAttribute(state, 0);if (currentPage = 0 & list.size()12) /上一页和下一页按钮都不出现,preivousPage=出现上一页,nextPage=11出现下一页req.setAttribute(preivousPage, 11);req.setAttribute(nextPage, 1);else if (currentPage = 0 & list.size()=12) /出现下一页按钮,不出现上一页按钮req.setAttribute(nextPage, 11);req.setAttribute(preivousPage, 11);else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论