名片管理系统Word文档格式.doc
《名片管理系统Word文档格式.doc》由会员分享,可在线阅读,更多相关《名片管理系统Word文档格式.doc(53页珍藏版)》请在冰点文库上搜索。
第一天:
小组讨论,理解系统的需求。
完成系统用例图及用例描述。
第二天:
理解系统的设计结果。
完成系统的体系结构设计;
数据库的设计结果(表、主外键、视图、存储过程等)
第三天:
完成系统主要界面设计,完成需求分析文档,组内讨论修改完善文档。
编码阶段:
第四天:
准备好所需工具以及环境配置。
完成分工,学习所需基础知识,设计完成前台网页框架。
第五~十二天:
各自完成实现分配模块,代码更新每日提交,并随时讨论进行组内测试
第十三天:
完成系统组间测试
第十四天:
答辩
项目分工:
组长:
XXX:
登录模块,管理员模块;
成员:
名片的生成、名片信息管理、日志管理
XXX:
组管理、文件导出
客户信息管理
3.实习过程
3.1技术准备
了解JSP的来历以及在开发动态网站上的优势。
学习制作前台界面主要使用技术css、javascript等。
掌握Tomcat服务器的安装与配置。
掌握JSP页面的基本结构以及运行原理。
掌握怎样使用Java程序片和Java表达式。
掌握JSP指令标记、动作标记和自定义标记。
掌握JSP内置对象resquest、response、session、application、out的作用以及使用方法。
掌握怎样编写JavaBean和使用JavaBean。
理解怎样使用JavaBean分离JSP页面的数据显示和数据处理。
掌握在JSP中怎样使用Java的输入、输出流实现有关的文件操作。
学习使用JSP+JavaBean的设计模式,将有关文件的读写指派给JavaBean。
掌握怎样在JSP中使用JDBC实现数据库的连接、查询、修改等操作。
理解Servlet的工作原理以及生命周期。
掌握怎样编写和使用Servlet。
编写和配置和Servlet有关的web.xml文件。
掌握DAO编程技术,学习掌握对数据库的操作,掌握各种查询方法。
理解MVC模式的核心思想:
“视图”、“模型”和“控制器”。
掌握MVC模式在JSP中的具体体现。
3.2项目实施
3.2.1功能需求
登录模块:
验证登录名、密码以及验证码实现登录系统主界面。
管理员模块:
实现添加、删除用户以及更改用户信息。
用户信息管理模块:
用户密码修改以及个人信息修改。
名片生成:
录入名片信息、名片正反图片存入数据库生成名片。
名片信息管理:
添加删除名片、更改名片信息,为名片添加分组,修改分组。
组管理模块:
新建分组、删除分组,为分组添加名片、查看分组中名片信息,删除分组中名片。
日志管理模块:
查看名片的访问记录。
文件导出:
导出数据库中所有的名片信息。
3.2.2总体设计
系统采用三层架构,前台界面界面显示,对数据库的操作采用DAO编程模式,servlet层的作用就是调用接口中的各种方法,处理从jsp中提取的数据,从数据库获取页面请求所需要的数据然后再传给jsp页面。
3.2.3详细设计与编码
页面设计:
使用DreamWeaver工具,为每个模块设计出合适的jsp页面。
后台设计:
本次项目使用的是MVC模式:
dao-service-selvet-jsp,dao层主要实现数据库的连接、数据的get和set处理以及对数据库操作的方法;
service的主要起到一个接口的作用,把dao层的各种方法建立接口,便于外层
直接调用;
servlet层的作用就是调用接口中的各种方法,利用从jsp中提取的数据,从数据库获取页面请求所需要的数据然后再传给jsp页面。
我所完成的是组管理部分,实现创建、删除、修改,查询名片,将名片加入分组,日志的查看:
名片生成部分代码:
<
%@pagelanguage="
java"
import="
java.text.SimpleDateFormat"
import="
java.util.*"
pageEncoding="
gb2312"
%>
scripttype="
text/javascript"
>
functionshowImg(obj){
document.getElementById("
showImage"
).src=obj.value;
}
<
/script>
%Calendarcal=Calendar.getInstance();
SimpleDateFormatsf=newSimpleDateFormat("
yyyy-MM-dd"
);
Stringnowdate=sf.format(cal.getTime());
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
htmlxmlns="
//www.w3.org/1999/xhtml"
head>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=gb2312"
/>
title>
名片生成<
/title>
styletype="
text/css"
--
#apDiv1{
position:
absolute;
width:
327px;
height:
384px;
z-index:
1;
left:
28px;
top:
}
#apDiv2{
314px;
627px;
69px;
18px;
#apDiv3{
714px;
409px;
2;
418px;
-->
body{
background-image:
url(images/hua.jpg);
/style>
/head>
body>
%Stringfront=(String)session.getAttribute("
front"
%Stringback=(String)session.getAttribute("
back"
<
%
session.setAttribute("
front);
session.setAttribute("
back);
divid="
apDiv2"
<
tablewidth="
315"
height="
622"
border="
1"
tr>
<
tdheight="
27"
bgcolor="
#e5f1f4"
formaction="
uploadimagefront"
method="
post"
enctype="
multipart/form-data"
请选择图片:
inputtype="
file"
name="
imageFile"
onchange="
showImg(this)"
<
submit"
value="
上传"
<
/form>
/td>
<
/tr>
165"
#33FFFF"
&
nbsp;
imgsrc="
../WebRoot/${front}.jpg"
width="
200"
/img>
td>
12"
uploadimageback"
imageFiles"
285"
../WebRoot/${back}.jpg"
/table>
/div>
apDiv3"
<
createcard"
form1"
class="
STYLE2"
id="
717"
65"
tdcolspan="
2"
基本信息<
trbgcolor="
tdwidth="
156"
37"
姓名<
412"
inputname="
textfield"
type="
text"
size="
50"
38"
公司<
textfield3"
职位<
textfield2"
固定电话<
textfield4"
手机号码<
textfield5"
传真<
textfield11"
E-mail<
textfield10"
省<
textfield6"
市<
textfield7"
区<
textfield8"
地址<
textfield9"
创建时间<
%=nowdate%>
"
name="
createtime"
onFocus="
this.select()"
readonly="
true"
/>
备注<
label>
<
textareaname="
textfield12"
id="
textarea"
cols="
45"
rows="
5"
/textarea>
/label>
colspan="
center>
button"
提交"
reset"
button2"
充填"
/center>
<
/body>
/html>
packageservlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.sql.Date;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importutil.StrConvert;
importDAO.Carddao;
importbean.Card;
publicclasscreatecardextendsHttpServlet{
/**
*ThedoGetmethodoftheservlet.<
br>
*
*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget.
*
*@paramrequesttherequestsendbytheclienttotheserver
*@paramresponsetheresponsesendbytheservertotheclient
*@throwsServletExceptionifanerroroccurred
*@throwsIOExceptionifanerroroccurred
*/
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("
text/html"
PrintWriterout=response.getWriter();
out
.println("
DOCTYPEHTMLPUBLIC\"
-//W3C//DTDHTML4.01Transitional//EN\"
out.println("
HTML>
HEAD>
TITLE>
AServlet<
/TITLE>
/HEAD>
BODY>
out.print("
Thisis"
out.print(this.getClass());
usingtheGETmethod"
/BODY>
/HTML>
out.flush();
out.close();
}
*ThedoPostmethodoftheservlet.<
*Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost.
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
Stringname=StrConvert.tochinese(request.getParameter("
));
Stringcompany=StrConvert.tochinese(request.getParameter("
Stringoffposi=StrConvert.tochinese(request.getParameter("
Stringtel1=StrConvert.tochinese(request.getParameter("
Stringtel2=StrConvert.tochinese(request.getParameter("
Stringprovince=StrConvert.tochinese(request.getParameter("
Stringcity=StrConvert.tochinese(request.getParameter("
Stringarea=StrConvert.tochinese(request.getParameter("
Stringaddress=StrConvert.tochinese(request.getParameter("
Stringportraiture=StrConvert.tochinese(request.getParameter("
StringEmail=StrConvert.tochinese(request.getParameter("
Stringmemo=StrConvert.tochinese(request.getParameter("
HttpSessionsession=request.getSession();
Stringfront=(String)session.getAttribute("
Stringback=(String)session.getAttribute("
Stringss=(String)session.getAttribute("
username"
inthav