JavaWeb课程方案设计书.docx

上传人:b****4 文档编号:878623 上传时间:2022-10-13 格式:DOCX 页数:26 大小:26KB
下载 相关 举报
JavaWeb课程方案设计书.docx_第1页
第1页 / 共26页
JavaWeb课程方案设计书.docx_第2页
第2页 / 共26页
JavaWeb课程方案设计书.docx_第3页
第3页 / 共26页
JavaWeb课程方案设计书.docx_第4页
第4页 / 共26页
JavaWeb课程方案设计书.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

JavaWeb课程方案设计书.docx

《JavaWeb课程方案设计书.docx》由会员分享,可在线阅读,更多相关《JavaWeb课程方案设计书.docx(26页珍藏版)》请在冰豆网上搜索。

JavaWeb课程方案设计书.docx

JavaWeb课程方案设计书

封面

作者:

PanHongliang

仅供个人学习

JavaWeb课程设计

题目:

客户信息管理系统

专业:

计算机科学与技术

年级:

计091—3

学号:

200925501348

作者:

刘丹凤

指导老师:

贺秉庚

完成时间:

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

一.课程设计目的

课程设计是一项重要的实践性教案环节,在教师的指导下,以学生为中心,充分调动学生的积极性和能动性,重视学生自学能力的培养。

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

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

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

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

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

二.课程设计内容与目标

课题名称:

客户信息管理系统

设计目标:

本系统模拟企业对于客户信息的管理,操作人员可以添加、修改客户信息,针对客户来电进行记录,并对客户的重要信息进行提醒,等等。

设计方法:

jsp、mysql动态网页制作工具配合相关技术(如HTML、CSS、JavaScript、xml等)

设计要求:

利用Web应用程序的客户端开发技术(包括Jsp、HTML、CSS、JavaScript、HTML、XML、MySql等)设计一个符合要求的JavaWeb数据库应用系统,并实现用户交互功能的设计,达到JavaWeb应用程序可用性和易用性目标。

开发模式:

MVC模式。

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

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

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

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

开发工具:

windows7,eclispe,jdk1.7,tomcat7.0、mysql5.5

3、系统设计

1、系统特点

本系统尝试从一些简单的层面对于企业客户信息的管理进行一种探索,针对企业和客户的交流行为进行系统化管理,力求做到客户信息的准确、快捷和可追溯性。

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

2、功能设计

4个模块

(1)客户资料信息维护模块

客户信息输入、修改和删除。

(2)客户来电信息模块

来电信息添加和来电信息查询。

(3)客户回访信息模块

回访信息添加和回访信息查询。

(4)客户重要信息提示模块

用例图UseCase

3、用户界面草图

登录草图

导航页面草图

其它功能见后面操作效果图

4、页面迁移图

从页面迁移图中可以看出,本系统的页面迁移基本上发生在模块内部,整体比较简单而清晰

5、页面功能设计

所有页面的pageId和对应页面的Jsp文件名及所对应的功能

4、数据库设计

1、数据库表

(1)用户表user

(2)客户信息表Customer

(3)客户来电表IncomeCall

(4)客户回访表FeedBackCall

2、数据库操作图

5、功能模块的详细设计

1、程序目录结构图

2、数据库访问模块

数据库的设计是需要针对每个模块而不是每个页面进行设置数据库模块,所有的数据访问类DUser、DIncome、Dcustomer、DFeedback、DRemind从同一个父类Dcommom继承,该父类提供了一个方法getDBConnection来获取数据库的链接。

DCommon代码

publicclassDCommon

{

publicConnectiongetDBConnection()

{//?

?

?

?

?

?

?

try

{//?

?

MySQL?

JDBC?

?

?

Class.forName(CommonConst.DB_DRIVER_CLASSNAME)?

Connectionconn=DriverManager.getConnection

(CommonConst.DB_CONN_STRING)?

//?

?

?

?

?

?

?

returnconn?

}

catch(Exceptionex)

{

ex.printStackTrace()?

returnnull?

}

}

}

3、共通Servlet的处理

本系统中一旦代码出现了异常,将直接向上抛出,一直抛到共通类Servlet进行处理。

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

对应的共通Servlet的相关代码如下:

publicclassCommonServletextendsHttpServlet

{

//保存各页面Id对应的action类的对象

privateHashtablehPageHandler=newHashtable()。

//配置文件的存放位置

privateJXPathContextconfigContext=null。

publicvoidinit()

{

//取得配置文件,并获得其中的dom元素

StringfilePath=getInitParameter("configXML")。

StringfileRealPath=getServletContext().getRealPath(filePath)。

//尝试建立配置文件的DOM

try

{

org.jdom.input.SAXBuilderbuilder=newSAXBuilder()。

org.jdom.DocumentpDoc=builder.build(fileRealPath)。

configContext=JXPathContext.newContext(pDoc)。

GlobalObjectProvider.init(configContext)。

}

catch(Exceptione)

{

System.out.println("Servlet初始化失败!

")。

}

//初始化共通类以获取页面信息

CommonConst.init()。

}

//每一种动作第一次执行的时候,初始化对应的类

publicvoiddoPost(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException

{

//设置提交表单的中文编码

request.setCharacterEncoding("GBK")。

HttpSessionmySession=request.getSession(true)。

//得到用户输入信息

StringsPageId=request.getParameter("pageId")。

StringsActionId=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获得处理对象,如果没有则创建一个对象

ObjectoActionObject=hPageHandler.get(sPageId)。

if(oActionObject==null)

{

//根据配置文件创建一个新对象

StringsClassName=(String)configContext.getValue(

"ch08-config/page[@id='"+sPageId+"']/@className")。

oActionObject=Class.forName(sClassName).newInstance()。

hPageHandler.put(sPageId,oActionObject)。

}

//取得方法名

StringsMethodName=(String)configContext.getValue(

"ch08-config/page[@id='"+sPageId+"']/action[@id='"+sActionId+"']/@methodName")。

//生成对应的参数,并调用对应对象的对应方法

//inputData是根据传入的参数做成的

HashtableinputData=newHashtable()。

Enumerationparams=request.getParameterNames()。

while(params.hasMoreElements())

{

StringsParaName=(String)params.nextElement()。

inputData.put(sParaName,request.getParameter(sParaName))。

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1