基于Java的教师档案管理系统的设计样本.docx

上传人:b****4 文档编号:24746101 上传时间:2023-06-01 格式:DOCX 页数:25 大小:64.51KB
下载 相关 举报
基于Java的教师档案管理系统的设计样本.docx_第1页
第1页 / 共25页
基于Java的教师档案管理系统的设计样本.docx_第2页
第2页 / 共25页
基于Java的教师档案管理系统的设计样本.docx_第3页
第3页 / 共25页
基于Java的教师档案管理系统的设计样本.docx_第4页
第4页 / 共25页
基于Java的教师档案管理系统的设计样本.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于Java的教师档案管理系统的设计样本.docx

《基于Java的教师档案管理系统的设计样本.docx》由会员分享,可在线阅读,更多相关《基于Java的教师档案管理系统的设计样本.docx(25页珍藏版)》请在冰豆网上搜索。

基于Java的教师档案管理系统的设计样本.docx

基于Java的教师档案管理系统的设计样本

《Java程序设计》课程设计报告书

 

课题名称

基于Java教师档案管理系统设计

姓名

学号

学院

专业

指引教师

 

年6月28日

一、设计任务及规定:

1.采用B/S模式进行开发,其长处是后台与前台解决层次分明,并且符合众多已经习惯网页方式顾客。

2.采用面向对象开发与设计理念。

运用面向对象技术前提是对整体系统高度和精确抽象,通过它可以保证系统良好框架,进而带来产品较强稳定性和运营效率。

3.采用模块化设计。

模块化设计规定将整个系统划提成基于小模块,有助于代码重载,简化设计和实现过程。

4.简朴以便系统界面。

设计简朴和谐系统界面,以便顾客较快适应系统操作。

5.速度优先原则。

由于此工具最重要评测原则就是速度,因而在设计过程中,详细过程尽量做到资源占用少,速度快。

6.设计既要突出重点,又要细致周到。

要符合设计需求,在有也许改进地方进行扩充,使系统更适应顾客需要。

指引教师签名:

年月日

二、指引教师评语:

 

指引教师签名:

年月日

三、成绩

 

验收盖章

年月日

 

基于Java教师档案管理系统系统设计

谭维隽

1设计目

长期以来,教职工管理工作大多数都采用是老式手工方式来记录有关信息,这种管理方式存在诸多缺陷,例如说,教职工信息、工资信息录入,查询,更新,分析都要完全依赖管理人员手工记录和人工分析,人工记录是相称麻烦。

为满足需求,决定采用各种编程语言JSP开发了基于B/S架构教师档案管理系统,教师档案管理系统是涉及信息科学、数据计算和计算机技术复杂人机交互系统。

通过这些系统,可以对教职工和管理进行智能化管理,有效地记录并查询教职工各项状况,为管理者提供了诸多以便。

2设计重要内容和规定

2.1数据库逻辑构造设计

咱们懂得,数据库概念模型独立于任何特定数据库管理系统,因而,需要依照详细使用数据库管理系统特点进行转换。

即转化为按计算机观点解决逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:

*每一种实体要转换成一种关系

*所有主键必要定义非空(NOTNULL)

*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。

依照E-R模型,教师档案管理系统建立了如下逻辑数据构造,下面是各数据表详细阐明。

(1)教师信息表重要是记录了教师基本信息。

表构造如表2.1所示。

 

表2.1教师信息表(t_jaoshi)

列名

数据类型

长度

容许空

与否主键

阐明

id

int

4

ID

gonghao

varchar

50

教师号

xingming

varchar

50

姓名

xingbie

varchar

50

性别

nianling

varchar

20

年龄

shengri

varchar

20

出生日期

gongzuo

varchar

50

工作时间

zhuanye

varchar

50

专业

zhaopian

varchar

50

照片

beizhu

varchar

50

备注信息

(2)工资信息表重要是记录了教职工工资基本信息。

表构造如表2.2所示。

表2.2工资信息表(t_gongzi)

列名

数据类型

长度

容许空

与否主键

阐明

id

int

4

ID

jsid

varchar

50

教师ID

riqi

varchar

50

工资月份

gongzi

varchar

50

工资数

jiangjin

varchar

20

奖金

(3)管理员信息表重要记录管理员账号信息,涉及顾客名和密码,表构造如表2.3所示。

表2.3管理员信息表(t_admin)

列名

数据类型

长度

容许空

与否主键

阐明

userId

int

4

编号

userName

varchar

50

顾客名

userPw

varchar

50

密码

2.2数据库连接原理

采用JDBC连接数据库方式,只需在工程中导入相应数据库jar包,就可以以便对数据库进行连接,在程序中,用Class.forName()办法来加载驱动程序,在用DriverManagergetConnection()办法就可以创立一种数据库连接。

程序采用是DAO模式来操作数据库,DAO(DataAccessObject,数据访问对象),是Java编程中一种典型模式,已被广泛应用,也是J2EE架构中持久层框架基本知识,基于分层次式软件架构来实现对数据库访问操作。

DAO模式重要思想就是从抽象数据源获取与操纵数据办法。

抽象数据含义就是编写应用程序程序员不必关怀数据库物理位置,已经是何种数据库,只需使用封装数据库中表达记录数据对象即可。

其思想如图2.4所示:

 

图2.4DAO模式类图

 

图中BussinessObject是业务对象,是使用DAO模式客户端;DataTransferObject数据传播对象,在应用程序不同层次之间传播对象,在一种分布式应用程序中,普通可以提高整顿性能;DataObjectAcces数据输入/输出对象封装了对数据源某些基本操作;DataSource指是数据源。

可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是编写软件具备良好层次式体系构造。

本系统为了以便数据库操作,重要使用DBContent对象来接一种数据库(建立一种类DBContent),代码如代码1。

2.3系统功能实现

在管理信息系统生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实行阶段。

在系统分析和设计阶段,系统开发工作重要是集中在逻辑、功能和技术设计上,系统实行阶段要继承此前面各个阶段工作成果,将技术设计转化为物理实现,因而系统实行成果是系统分析和设计阶段结晶。

2.3.1系统登陆页

1.描述:

为了保证系统安全性,要先使用本系统必要先登陆到系统中。

2.在登陆页面输入顾客名和密码以,选取登陆身份后,点击提交按钮,跳转到登陆service中,在该service中会对顾客名,密码,验证码进行判断,并依照相应顾客角色进入相应页面,代码如代码2。

2.3.2系统主页面

1.描述:

管理员主页面:

左方页面展示了管理员可操作七大功能,进入有关管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面均有相应子菜单。

2.在每个jsp页面将会对有关顾客进行拦截操作,这样可以提高安全性,防止顾客不通过登陆页面而进入任何子菜单页面,如代码3:

2.3.3教职工信息管理

(1)教职工录入

1.描述:

管理员输入教职工有关对的信息后点击录入按钮,如果是没有输入完整信息,都会给出相应错误提示,不能录入成功。

输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。

2.流程图如下图4所示:

(2)教职工管理

1.描述:

管理员点击左侧菜单“教职工管理”,页面跳转到做教职工界面,调用后台servlet类查询所有教职工信息。

2.教职工管理核心代码如代码4:

2.3.4工资信息管理

(1)工资录入

1.描述:

在此页面重要是输入工资数、奖金等信息,然后选取教职工,所有信息都不可觉得空,与否为空也是通过form表单中onsubmit="returncheckForm()来检查。

(2)工资信息管理

1.描述:

管理员点击左侧菜单“工资管理”,页面跳转到工资管理界面,调用后台gongziServlet类查询出所有工资信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应jsp,显示出来。

2.工资管理核心代码代码5:

(3)修改个人密码

1.描述:

输入顾客名和顾客原有密码,输入新密码后来点击修改按钮即可修改密码成功。

(4)安全退出系统

1.描述:

点此按钮回到系统主页面。

2.核心代码如代码6。

3整体设计方案

 

4流程图设计

 

图4教职工录入流程图

 

5程序设计

代码1:

publicDBContent(){

StringCLASSFORNAME="com.SqlServer.jdbc.Driver";//连接数据库驱动

Stringurl="jdbc:

SqlServer:

//localhost:

3306/jzggl";

Stringuser="root";//连接数据库顾客名

Stringpassword="root";//连接数据库密码

try{

Class.forName(CLASSFORNAME);

con=DriverManager.getConnection(url,user,password);//加载数据库驱动

stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

}

catch(Exceptionex){

ex.printStackTrace();

}

}

代码2

publicStringlogin(StringuserName,StringuserPw,intuserType)

{

try

{

Thread.sleep(700);

}catch(InterruptedExceptione)

{

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

Stringresult="no";

if(userType==0)//系统管理员登陆

{

Stringsql="fromTAdminwhereuserName=?

anduserPw=?

";

Object[]con={userName,userPw};

ListadminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0)

{

result="no";

}

else

{

WebContextctx=WebContextFactory.get();

HttpSessionsession=ctx.getSession();

TAdminadmin=(TAdmin)adminList.get(0);

session.setAttribute("userType",0);

session.setAttribute("admin",admin);

result="yes";

}

}

if(userType==1)

{

}

if(userType==2)

{

}

returnresult;

}

代码3

if(session.getAttribute("user")==null)

{

out.print("");

}

代码4

publicvoidjihuayuanAdd(HttpServletRequestreq,HttpServletResponseres)

publicvoidjiaoshiDel(HttpServletRequestreq,HttpServletResponseres)

{

intid=Integer.parseInt(req.getParameter("id"));

Stringdel="yes";

Stringsql="updatet_jiaoshisetdel=?

whereid=?

";

Object[]params={del,id};

DBmydb=newDB();

mydb.doPstm(sql,params);

mydb.closed();

req.setAttribute("message","教师信息删除成功!

");

req.setAttribute("path","jiaoshi?

type=jiaoshiMana");

StringtargetURL="/common/success.jsp";

dispatch(targetURL,req,res);

}

publicvoidjiaoshiUpd(HttpServletRequestreq,HttpServletResponseres)

{

intid=Integer.parseInt(req.getParameter("id"));

Stringgonghao=req.getParameter("gonghao");

Stringxingming=req.getParameter("xingming");

Stringxingbie=req.getParameter("xingbie");

Stringnianling=req.getParameter("nianling");

Stringshengri=req.getParameter("shengri");

Stringgongzuo=req.getParameter("gongzuo");

Stringzhuanye=req.getParameter("zhuanye");

Stringzhaopian=req.getParameter("zhaopian");

Stringbeizhu=req.getParameter("beizhu");

Stringsql="updatet_jiaoshisetgonghao=?

xingming=?

xingbie=?

nianling=?

shengri=?

gongzuo=?

zhuanye=?

zhaopian=?

beizhu=?

whereid=?

";

Object[]params={gonghao,xingming,xingbie,nianling,shengri,gongzuo,zhuanye,zhaopian,beizhu,id};

DBmydb=newDB();

mydb.doPstm(sql,params);

mydb.closed();

req.setAttribute("message","教师信息修改成功!

");

req.setAttribute("path","jiaoshi?

type=jiaoshiMana");

StringtargetURL="/common/success.jsp";

dispatch(targetURL,req,res);

}

publicvoidjiaoshiAdd(HttpServletRequestreq,HttpServletResponseres)

{

Stringgonghao=req.getParameter("gonghao");

Stringxingming=req.getParameter("xingming");

Stringxingbie=req.getParameter("xingbie");

Stringnianling=req.getParameter("nianling");

Stringshengri=req.getParameter("shengri");

Stringgongzuo=req.getParameter("gongzuo");

Stringzhuanye=req.getParameter("zhuanye");

Stringzhaopian=req.getParameter("zhaopian");

Stringbeizhu=req.getParameter("beizhu");

Stringdel="no";

Stringsql="insertintot_jiaoshi(gonghao,xingming,xingbie,nianling,shengri,gongzuo,zhuanye,zhaopian,beizhu,del)"+

"values(?

?

?

?

?

?

?

?

?

?

)";

Object[]params={gonghao,xingming,xingbie,nianling,shengri,gongzuo,zhuanye,zhaopian,beizhu,del};

DBmydb=newDB();

mydb.doPstm(sql,params);

mydb.closed();

req.setAttribute("message","教师信息添加成功!

");

req.setAttribute("path","jiaoshi?

type=jiaoshiMana");

StringtargetURL="/common/success.jsp";

dispatch(targetURL,req,res);

}

publicvoidjiaoshiMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException

{

ListjiaoshiList=newArrayList();

Stringsql="select*fromt_jiaoshiwheredel='no'";

Object[]params={};

DBmydb=newDB();

try

{

mydb.doPstm(sql,params);

ResultSetrs=mydb.getRs();

while(rs.next())

{

TJiaoshijiaoshi=newTJiaoshi();

jiaoshi.setId(rs.getInt("id"));

jiaoshi.setGonghao(rs.getString("gonghao"));

jiaoshi.setXingming(rs.getString("xingming"));

jiaoshi.setXingbie(rs.getString("xingbie"));

jiaoshi.setNianling(rs.getString("nianling"));

jiaoshi.setShengri(rs.getString("shengri"));

jiaoshi.setGongzuo(rs.getString("gongzuo"));

jiaoshi.setZhuanye(rs.getString("zhuanye"));

jiaoshi.setZhaopian(rs.getString("zhaopian"));

jiaoshi.setBeizhu(rs.getString("beizhu"));

jiaoshiList.add(jiaoshi);

}

rs.close();

}

catch(Exceptione)

{

e.printStackTrace();

}

mydb.closed();

req.setAttribute("jiaoshiList",jiaoshiList);

req.getRequestDispatcher("admin/jiaoshi/jiaoshiMana.jsp").forward(req,res);

}

 

代码5

publicvoidgongziAdd(HttpServletRequestreq,HttpServletResponseres)

{

intjsid=Integer.parseInt(req.getParameter("jsid"));

Stringriqi=req.getParameter("riqi");

Stringgongzi=req.getParameter("gongzi");

Stringjiangjin=req.getParameter("jiangjin");

Stringsql="insertintot_gongzi(jsid,riqi,gongzi,jiangjin)values(?

?

?

?

)";

Object[]params={jsid,riqi,gongzi,jiangjin};

DBmydb=newDB();

mydb.doPstm(sql,params);

mydb.closed();

req.setAttribute("message","教师工资添加成功");

req.setAttribute("path","gongzi?

type=gongziMana");

StringtargetURL="/common/success.jsp";

dispatch(targetURL,req,res);

}

publicvoidjsList(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException

{

ListjiaoshiList=newArrayList();

Stringsql="select*fromt_jiaoshiwheredel='no'";

Object[]params={};

DBmydb=newDB();

try

{

mydb.doPstm(sql,params);

ResultSetrs=mydb.getRs();

while(rs.next())

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

当前位置:首页 > 农林牧渔 > 林学

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

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