当前位置:文档之家› (完整版)JavaWeb毕业课程设计

(完整版)JavaWeb毕业课程设计

JavaWeb 课程设计题目:客户信息管理系统专业:计算机科学与技术年级:计091—3学号:******指导老师:***完成时间:2012年6月17日目录JavaWeb 课程设计 (1)题目:客户信息管理系统 (1)一.课程设计目的 (4)二.课程设计内容与目标 (5)三、系统设计 (6)1、系统特点 (6)2、功能设计 (6)3、用户界面草图 (7)4、页面迁移图 (9)5、页面功能设计 (9)四、数据库设计 (10)1、数据库表 (10)2、数据库操作图 (12)五、功能模块的详细设计 (13)1、程序目录结构图 (13)2、数据库访问模块 (13)3、共通Servlet的处理 (15)4、登录模块 (22)5、页面导航设计 (24)5、客户资料维护模块 (26)6、客户来电信息模块 (33)7、客户回访信息模块 (35)8、客户重要信息提示模块 (36)六、对本系统开发的思考总结 (39)七、对软件开发方法的体会 (39)八、自主创新声明 (40)九、致谢 (40)一.课程设计目的课程设计是一项重要的实践性教学环节,在教师的指导下,以学生为中心,充分调动学生的积极性和能动性,重视学生自学能力的培养。

《Java Web 数据库系统应用开发与实例》是为教育技术学本科专业开设的专业选修课程,课程的主要目标是要求学生掌握基本的Web应用程序开发和设计的流程及相关的技术技能。

本课程在讲解相关理论知识的基础上,按照一定的组织原则和现有实验条件安排了一定数量的实验,通过这些实验使学生初步掌握开发和设计Web数据库系统的基本方法和基本技能。

然而由于这些实验是分时分批按一定的技术种类和实验目的实施的,固然可以有目的地训练和培养学生某个方面技能,但明显的不连续性使学生不能从整体上把握如何系统地开发和设计一个完整Web数据库系统应用程序。

通过本课程设计可以较好地解决这个问题。

通过本课程设计可以使学生充分认识开发和设计Web应用程序的的重要性和复杂性,充分了解Web应用程序的设计和开发的基本过程,掌握常用的Web开发技术,充分把握各项技术的特点和应用领域以及各项技术之间的相互关系,进一步体会各项技术在Web应用程序中地位和作用从而对各种技术有比较清醒的认识,在此基础上习得Web开发技术平台的选择能力。

二.课程设计内容与目标课题名称:客户信息管理系统设计目标:本系统模拟企业对于客户信息的管理,操作人员可以添加、修改客户信息,针对客户来电进行记录,并对客户的重要信息进行提醒,等等。

设计方法:jsp、mysql动态网页制作工具配合相关技术(如HTML、CSS、JavaScript、xml等)设计要求:利用Web应用程序的客户端开发技术(包括Jsp、HTML、CSS、JavaScript、HTML、XML、MySql等)设计一个符合要求的Java Web数据库应用系统,并实现用户交互功能的设计,达到Java Web应用程序可用性和易用性目标。

开发模式:MVC模式。

MVC模式的目的就是实现Web系统的职能分工。

Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。

View层用于与用户的交互,通常用JSP来实现。

Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

开发工具:windows7,eclispe,jdk1.7,tomcat7.0、mysql5.5三、系统设计1、系统特点本系统尝试从一些简单的层面对于企业客户信息的管理进行一种探索,针对企业和客户的交流行为进行系统化管理,力求做到客户信息的准确、快捷和可追溯性。

本系统包括3个主要层面,客户信息维护、客户来电记录和客户回访记录。

2、功能设计4个模块(1)客户资料信息维护模块客户信息输入、修改和删除。

(2)客户来电信息模块来电信息添加和来电信息查询。

(3)客户回访信息模块回访信息添加和回访信息查询。

(4)客户重要信息提示模块用例图UseCase3、用户界面草图登录草图导航页面草图其它功能见后面操作效果图4、页面迁移图从页面迁移图中可以看出,本系统的页面迁移基本上发生在模块内部,整体比较简单而清晰5、页面功能设计所有页面的pageId和对应页面的Jsp文件名及所对应的功能四、数据库设计1、数据库表(1)用户表user(2)客户信息表Customer(3)客户来电表IncomeCall (4)客户回访表FeedBackCall2、数据库操作图五、功能模块的详细设计1、程序目录结构图2、数据库访问模块数据库的设计是需要针对每个模块而不是每个页面进行设置数据库模块,所有的数据访问类DUser、DIncome、Dcustomer、DFeedback、DRemind从同一个父类Dcommom继承,该父类提供了一个方法getDBConnection来获取数据库的链接。

DCommon代码public class DCommon{public Connection getDBConnection( ){尝试连接数据库try{ 载入MySQL的JDBC驱动类Class.forName(CommonConst.DB_DRIVER_CLASSNAME); Connectionconn=DriverManager.getConnection( CommonConst.DB_CONN_STRING );获得数据库连接return conn;}catch(Exception ex){ex.printStackTrace();return null;}}}3、共通Servlet的处理本系统中一旦代码出现了异常,将直接向上抛出,一直抛到共通类Servlet进行处理。

在共通Servlet中发现异常,将页面跳转到错误处理页面,并把错误信息在页面上显示出来,同时提供一个往登录页面迁移的链接。

对应的共通Servlet的相关代码如下:public class CommonServlet extends HttpServlet{保存各页面Id对应的action类的对象private Hashtable e){System.out.println("Servlet初始化失败!");}初始化共通类以获取页面信息CommonConst.init();}每一种动作第一次执行的时候,初始化对应的类public void doPost ( HttpServletRequest request,HttpServletResponse response ) throws ServletException, IOException{设置提交表单的中文编码request.setCharacterEncoding("GBK");HttpSession mySession = request.getSession(true);得到用户输入信息String sPageId = request.getParameter("pageId");String sActionId = request.getParameter("actionId");if ( sPageId == null || sPageId.equals("")|| sActionId == null || sActionId.equals("") ) {非法进入页面,跳转到首页mySession.invalidate();response.sendRedirect("..login.jsp");return;}如果非法进入页面(登录页面除外)if ( !sPageId.equals("S001")&& mySession.getAttribute("loginUser") == null ){非法进入页面,跳转到首页mySession.invalidate();response.sendRedirect("..login.jsp");return;}try{根据pageId获得处理对象,如果没有则创建一个对象Object oActionObject = ='"+sActionId+"' ");生成对应的参数,并调用对应对象的对应方法inputData是根据传入的参数做成的Hashtable inputData = new Hashtable();Enumeration params = request.getParameterNames();while( params.") };Object[] paraObj = { inputData, outputData, mySession };生成Method对象Method invokeMethod = oActionObject.getClass().getMethod( sMethodName, paraType );调用方法invokeMethod.invoke( oActionObject, paraObj );根据outputData的结果决定下一个页面String sNextPageId = (String)outputData.get("pageId");String sRealPagePath = (String)configContext.getValue("ch08- ='"+sNextPageId+"' ");设置下一个页面的值域mySession.setAttribute( sNextPageId, outputData );response.sendRedirect( sRealPagePath );return;}catch(Exception e){页面处理出错,跳转到错误处理页面e.printStackTrace();Hashtable outputData = new Hashtable();outputData.put( "exception", e );设置错误页面的值域mySession.setAttribute( CommonConst.VIEWID_ERROR, outputData );response.sendRedirect("..error.jsp");return;}}public void doGet ( HttpServletRequest request,HttpServletResponse response )throws ServletException, IOException {doPost( request, response );}}错误页面:4、登录模块由于本系统用户角色只有一种,不存在跳转到不同页面的问题,处理相对简单一些,如果用户登录成功,则将用户信息放到session中,并将页面跳转到导航页面。

相关主题