Java Web课程设计客户管理系统.docx
- 文档编号:18191546
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:40
- 大小:1.82MB
Java Web课程设计客户管理系统.docx
《Java Web课程设计客户管理系统.docx》由会员分享,可在线阅读,更多相关《Java Web课程设计客户管理系统.docx(40页珍藏版)》请在冰点文库上搜索。
JavaWeb课程设计客户管理系统
枣庄 学 院
信息科学与工程学院课程设计任务书
题 目:
客户信息管理系统
姓 名:
桑得水
学 号:
2
专业班级:
网络工程(物联网)
课 程:
JavaWeb
指导教师:
李钢 职称:
讲 师
完成时间:
2014年5月---—2014年6月
枣庄学院信息科学与工程学院制
2014年6月20日
课程设计任务书及成绩评定
课程设计得任务与具体要求
课程设计要求设计一个用Java Web开发基于B/S架构得管理系统,页面至少6个以上,应能反应出学生综合利用JavaWeb知识与数据库知识完成一定得设计任务得能力,反映出学生理论联系实践得动手能力.
具体要求如下:
(1)明确所要开发系统得设计任务;
(2)做好需求分析,合理选择设计方案;
(3)页面静态部分可用Dreamweaver开发实现
(4)动态页面部分可用JSP、Servlet、JavaBean等实现;
(5)后台数据库可采用MySQL、Oracle、SQLServer等实现;
(6)在编写程序过程中应注意相关文档得编写;
(7)认真撰写课程设计总结报告。
指导教师签字:
_______ 日期:
指导教师评语
成绩:
____________指导教师签字:
日期:
课程设计所需软件、硬件等
⏹硬件环境:
CPU,主频1GHz以上;内存512M以上;
硬盘30G以上;1024×768显示分辨率
⏹软件环境:
MicrosoftwindowsXP或以上版本 ;eclipse;JDK1、6;Tomcat6、0;MySQL
课程设计进度计划
起至日期
工作内容
备注
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
[1]沈应逵、 JavaWeb数据库系统应用开发与实例、北京:
人民邮电出版社,2009
一、前言ﻩ1
二、课程设计内容与目标ﻩ2
3、2功能设计2
3、3 用户界面草图3
3、5页面功能设计ﻩ5
四、数据库设计6
4、1 数据库表ﻩ6
4、2 数据库操作图ﻩ7
五、功能模块得详细设计ﻩ8
5、1 程序目录结构图8
5、2数据库访问模块ﻩ8
5、3共通Servlet得处理ﻩ9
5、4 登录模块14
5、5 页面导航设计15
5、6客户资料维护模块17
5、7客户来电信息模块23
5、8客户回访信息模块ﻩ25
5、9客户重要信息提示模块27
一.课程设计目得
课程设计就是一项重要得实践性教学环节,在教师得指导下,以学生为中心,充分调动学生得积极性与能动性,重视学生自学能力得培养.
《JavaWeb 数据库系统应用开发与实例》就是为教育技术学本科专业开设得专业选修课程,课程得主要目标就是要求学生掌握基本得Web应用程序开发与设计得流程及相关得技术技能。
本课程在讲解相关理论知识得基础上,按照一定得组织原则与现有实验条件安排了一定数量得实验,通过这些实验使学生初步掌握开发与设计Web数据库系统得基本方法与基本技能.然而由于这些实验就是分时分批按一定得技术种类与实验目得实施得,固然可以有目得地训练与培养学生某个方面技能,但明显得不连续性使学生不能从整体上把握如何系统地开发与设计一个完整Web数据库系统应用程序。
通过本课程设计可以较好地解决这个问题。
通过本课程设计可以使学生充分认识开发与设计Web应用程序得得重要性与复杂性,充分了解Web应用程序得设计与开发得基本过程,掌握常用得Web开发技术,充分把握各项技术得特点与应用领域以及各项技术之间得相互关系,进一步体会各项技术在Web应用程序中地位与作用从而对各种技术有比较清醒得认识,在此基础上习得Web开发技术平台得选择能力。
二。
课程设计内容与目标
课题名称:
客户信息管理系统
设计目标:
本系统模拟企业对于客户信息得管理,操作人员可以添加、修改客户信息,针对客户来电进行记录,并对客户得重要信息进行提醒,等等。
设计方法:
jsp、mysql动态网页制作工具配合相关技术(如HTML、CSS、JavaScript、xml等)
设计要求:
利用Web应用程序得客户端开发技术(包括Jsp、HTML、CSS、JavaScript、HTML、XML、MySql等)设计一个符合要求得Java Web数据库应用系统,并实现用户交互功能得设计,达到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)客户来电表IneCall
(4)客户回访表FeedBackCall
2、数据库操作图
5、功能模块得详细设计
1、程序目录结构图
2、数据库访问模块
数据库得设计就是需要针对每个模块而不就是每个页面进行设置数据库模块,所有得数据访问类DUser、DIne、Dcustomer、DFeedback、DRemind从同一个父类Dmom继承,该父类提供了一个方法getDBConnection来获取数据库得链接。
Dmon代码
public class Dmon
{
publicConnectiongetDBConnection()
{//尝试连接数据库
try
{//载入MySQL得JDBC驱动类
Class、forName(monConst、DB_DRIVER_CLASSNAME);
Connectionconn=DriverManager、getConnection
( monConst、DB_CONN_STRING);//获得数据库连接
returnconn;
}
catch(Exception ex)
{
ex、printStackTrace();
returnnull;
}
}
}
3、共通Servlet得处理
本系统中一旦代码出现了异常,将直接向上抛出,一直抛到共通类Servlet进行处理.
在共通Servlet中发现异常,将页面跳转到错误处理页面,并把错误信息在页面上显示出来,同时提供一个往登录页面迁移得链接。
对应得共通Servlet得相关代码如下:
publicclassmonServletextends Servlet
{
//保存各页面Id对应得action类得对象
privateHashtablehPageHandler= newHashtable();
//配置文件得存放位置
privateJXPathContextconfigContext= null;
public voidinit()
{
//取得配置文件,并获得其中得dom元素
String=getInitParameter("configXML");
String =getServletContext()、getRealPath();
//尝试建立配置文件得DOM
try
{
org、jdom、input、SAXBuilderbuilder=new SAXBuilder();
org、jdom、DocumentpDoc = builder、build();
configContext = JXPathContext、newContext(pDoc);
GlobalObjectProvider、init(configContext );
}
catch(Exceptione)
{
System、out、println(”Servlet初始化失败!
");
}
//初始化共通类以获取页面信息
monConst、init();
}
//每一种动作第一次执行得时候,初始化对应得类
publicvoiddoPost( ServletRequestrequest,
ServletResponse response )
throws ServletException,IOException
{
//设置提交表单得中文编码
request、setCharacterEncoding("GBK");
Session mySession=request、getSession(true);
//得到用户输入信息
StringsPageId=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获得处理对象,如果没有则创建一个对象
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));
}
//outputData就是下一个页面得值域,在此只就是被初始化
HashtableoutputData = newHashtable();
//生成参数列表
Class[]paraType ={ Class、forName(”java、util、Hashtable"),
Class、forName("java、util、Hashtable"),
Class、forName("javax、servlet、、Session") };
Object[]paraObj={inputData, outputData,mySession};
//生成Method对象
Method invokeMethod= oActionObject、getClass()、getMethod( sMethodName, paraType);
//调用方法
invokeMethod、invoke( oActionObject,paraObj);
//根据outputData得结果决定下一个页面
StringsNextPageId=(String)outputData、get(”pageId”);
String sRealPagePath =(String)configContext、getValue(
”ch08-config/page[id='”+sNextPageId+”']/path");
//设置下一个页面得值域
mySession、setAttribute(sNextPageId,outputData);
response、sendRedirect(sRealPagePath);
return;
}
catch(Exception e)
{
//页面处理出错,跳转到错误处理页面
e、printStackTrace();
HashtableoutputData= newHashtable();
outputData、put( "exception", e );
//设置错误页面得值域
mySession、setAttribute(monConst、VIEWID_ERROR,outputData);
response、sendRedirect("、、/error、jsp");
return;
}
}
publicvoiddoGet (ServletRequest request,
ServletResponseresponse)
throwsServletException,IOException
{
doPost(request,response);
}
}
错误页面:
4、登录模块
由于本系统用户角色只有一种,不存在跳转到不同页面得问题,处理相对简单一些,如果用户登录成功,则将用户信息放到session中,并将页面跳转到导航页面。
(1)登录页面控制模块ALogin相关代码如下:
publicclass ALogin
{
publicvoid doLogin(HashtableinputData,
HashtableoutputData,
SessionmySession )
throws Exception
{
//获取输入信息
String sUsername = (String)inputData、get(”username”);
StringsPassword=(String)inputData、get("password”);
//校验用户输入信息
LUserlUser=(LUser)GlobalObjectProvider、getLogicService(monConst、LOGIC_KEY_USER);
//如果对应得类没有得话,报错并返回login页面
if(lUser==null)
{
throw newException("发生了内部错误,请联系技术人员!
”);
}
//获取用户信息
UseruserInfo= lUser、getUserInfo(sUsername,sPassword);
if(userInfo== null)
{
outputData、put("pageId",monConst、VIEWID_LOGIN);
outputData、put( "errMsg", "用户名密码检查失败!
请重新输入。
”);
outputData、put(”username",sUsername );
return;
}
else
{
outputData、put( "pageId",monConst、VIEWID_MENU);
//往session中设置用户信息
mySession、setAttribute( "loginUser”,userInfo);
return;
}
}
}
(2)登录效果图
5、页面导航设计
(1)页面位置信息与页面得pageid息息相关,考虑用一个全局变量来存这个信息,然后通过在共通文件中来访问这个全局变量来获取对应页面得名称。
为了达到这个目得设置一个成员变量pageinfo与对应得设置方法init(),对应代码如下:
publicstatic HashtablepageInfos =newHashtable();
//数据库相关常量
publicstaticStringDB_DRIVER_CLASSNAME="、mysql、jdbc、Driver";
publicstatic StringDB_CONN_STRING ="jdbc:
mysql:
//localhost/ch08?
user=root&password=123";
//初始化
public staticvoidinit()
{
pageInfos、put(”S002”,"目录页面”);
pageInfos、put(”S110","客户资料> 客户资料录入页面”);
pageInfos、put("S120”,"客户资料>客户资料修改一览页面”);
pageInfos、put("S121","客户资料>客户资料修改详细页面”);
pageInfos、put("S130","客户资料 >客户资料删除页面”);
pageInfos、put("S210","客户来电〉快速反应条件输入页面”);
pageInfos、put("S211",”客户来电> 快速反应结果一览页面");
pageInfos、put(”S220","客户来电〉客户来电信息添加页面");
pageInfos、put(”S230",”客户来电>客户来电信息查找页面");
pageInfos、put("S231”,”客户来电〉客户来电信息一览页面”);
pageInfos、put("S232",”客户来电〉 客户来电信息详细页面");
pageInfos、put("S310","客户回访〉 客户回访信息添加页面");
pageInfos、put("S320","客户回访 〉客户回访信息查找页面");
pageInfos、put("S321","客户回访>客户回访信息一览页面”);
pageInfos、put("S322",”客户回访>客户回访信息详细页面”);
pageInfos、put("S410","客户重要信息提醒页面”);
}
//获得页面信息
publicstatic StringgetPageInfo( StringsPageId)
{
return(String)pageInfos、get(sPageId);
}
5、1页面外观设计
为四个模块设计不同颜色风格得CSS代码
、tr_head1 {color:
black;background-color:
#aaccaa;}
、tr_content1{color:
black;background—color:
#eeffee; cursor:
hand;}
、tr_head2{color:
black
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web课程设计客户管理系统 Web 课程设计 客户 管理 系统