基于jsp(java)财务管理系统的设计和开发

 

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2




摘要]
随着计算机技术、网络技术和信息技术的发展,越来越多地改善着现代人的工作、生活。网络管理系统是计算机技术和网络迅速发展的一个办公应用解决方案。网络管理系统将Internet网络技术与现代管理观念相融合,使得政府得以逐步提高决策透明度、服务效率和廉政建设从而转变政府职能。从而实现政府财务管理的网上化则可以使财务管理,更加高效、规范、安全和简便。
关键词:、财务管理、JSP、Html、MSSQLserver2000数据库
ABSTRACT
Along with the development of the computer technique, network technique and information technique, all that more and more improve the work and life of modern people.E-GovernmentAffair Network Management System is a affair applied solution project with the development of computer technique and Inter -net quickly.E-GovernmentAffair Network Management System combines Internet technique with modern manage system, and make the government can gradually increase to make the clarity of policy, the efficiency of service and the probity construction,and then change government working talent.Thus it implements government finance net that manage can make the finance management, more efficiently, norm, safety .
Key Words: E-GovernmentAffair Network Management System, the finance management, JSP,Html,MSSQLserver2000 DataBase.
目录
1、 本系统的意义
1.1意义
1.2关于WindowsXP+Tomcat+MSSQLserver2000+JSP
2、 设计思想
2.1 当前财务管理中存在的问题
2.1.1财务工作没有实现公开化和透明化
2.1.2财务工作无法实现远程管理
2.2 工具软件的介绍
2.2.1 JSP语言的介绍
2.2.2 MSSQLserver2000数据库
2.2.3 Tomcat Web服务器
2.3 系统技术基础
2.3.1 系统软件技术基础
2.3.2 系统的硬件基础
2.4 系统介绍
2.4.1 系统整体介绍
2.4.2 财务管理系统功能模块
3、 财务管理模块设计及实现
3.1数据库的设计
3.1.1创建数据库
3.1.2创建表
3.2功能模块设计
3.2.1财务系统进入模块
3.2.2工资管理模块
3.2.3福利管理模块
3.2.4查询统计模块
  
4、 系统评价
5、 参考书目
附录
1. 本系统的意义
1.1意义
计算机技术、网络技术和信息技术的发展,越来越多地改善这现代人的工作、生活。网络管理系统是计算机技术和网络迅速发展的一个办公应用解决方案。网络管理系统将Internet网络技术与现代管理观念相融合,针对信息技术的特点对办公系统进行规划和重构,对政府内部信息流进行优化及合理配置,生成动态的、安全的、专有的数字化信息源,将办公体系全面自动化,流程化,数字化。以此为桥梁,横向连接同事间的交流与协同工作,纵向实现上下级一体化的高效办公体系,从而更明确、更有效地支持政府的管理和决策。
1.2关于WindowsXP+Tomcat+MSSQLserver2000+JSP
本系统是在服务器上先安装 WindowsXP操作系统,安装 Tomcat5.0.24作为Web服务器,并在WindowsXP系统下安装MSSQLserver2000MSSQLserver20003.23.46a数据库系统,建立gov_dbbase数据库再在它之上建立相应的数据表。然后在Windows 2000操作系统下用JSP和Html编写不同网页页面。编写完毕后,将JSP和Html编写的界面和程序移植到WindowsXP服务器下,调试成功。从而,使用户可以在本地和远程通过使用浏览器来访问数据库。以达到政府公务员办公上网和群众网上查询的目的。
二、设计思想
2.1 当前财务管理中存在的问题
2.1.1财务工作没有实现公开化和透明化
当前政府中的财务管理大多实现了录入和打印的计算机化,但是这些并不够。现实工作中,常常需要适应人们的各种查询而消耗大量的人力和物力,导致效率低下。

2.1.2财务工作无法实现远程的管理
当前的财务工作只能实现本地在办公室内的管理,无法实现在网上的远程管理。这样的情况下对工作人员异地办公是不能实现的。
2.2 工具软件的介绍
2.2.1 JSP语言的介绍
JSP 是一种 HTML 内嵌式的语言 (类似 IIS 上的 ASP)。而 JSP 独特的语法混合了 C、Java、Perl 以及 JSP 式的新语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。JSP 跟 Tomcat 服务器紧密结合的特性;加上它不断的更新及加入新的功能;并且它几乎支援所有主流与非主流数据库;再以它能高速的执行效率,更重要的是它的原始码完全公开,完全免费,使得它拥有了很高的支持率。
JSP语言的特点:
1. 数据库方面的丰富支持
它支持下列的数据库或是数据表:
Adabas D 、DBA 、DBase、 dbm 、filePro 、Informix 、InterBase 、mSQL 、Microsoft SQL Server 、MSSQLserver2000、 Solid 、Sybase 、ODBC 、Oracle 8 、Oracle 和PostgreSQL 。
JSP可以编译成具有与许多数据库相连接的函数。JSP支持如此众多的数据库,几乎包括的现在所有主流和非主流的数据库。
2. 支持众多的通讯协议
在 Internet 上它也支援了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP, POP3;网管系统 SNMP;网路新闻 NNTP;帐号共用 NIS;全球资讯网 HTTP 及 Tomcat 伺服器;目录协定 LDAP 以及其它网路的相关函式。
3. 可移植性
用 JSP 写出来的 Web 后端 CGI 程式,可以很轻易的移植到不同的作业平台上。例如,先以 WindowsXP 架的网站,在系统负荷过高时,可以快速地将整个系统移到 SUN 工作站上,不用重新编译 CGI 程式。
4. 稳定性
JSP的稳定性很好。当然最稳的还是传统 CGI 程序,因为它是由作业系统负责控制,不会因 CGI 程式的错误导致 Web 伺服器的不稳定。但是,CGI程序编写很困难,修改也很麻烦。
5. 安全性
JSP 在许多商业及非商业使用时,根据Netcraft在1999年10月的报告,有931122个域和321128个IP地址利用JSP技术。至今为止,没有听过有什么重大的安全的问题。
6. 面向对象的编程
JSP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。JSP支持构造器、提取类等。
7. 伸缩性
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。JSP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的JSP可以具有更高的可伸缩性。
8. 免费特性
JSP是完全免费的,不用花钱,可以从JSP官方站点(http://www.JSP.net)自由下载。JSP遵守GNU公共许可(GPL)。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。
2.2.2 MSSQLserver2000数据库
MSSQLserver2000数据库是一种基于客户端/服务器端体系结构的数据库系统,随着WindowsXP和JSP数据库的流行而广泛使用起来的。它如此受欢迎的原因是因为它有一下特性:
1.MSSQLserver2000使用的核心线程工作方式,也就是说它能利用机器上的多个CPU进行工作。
2.可以使用C、C++、Java、Perl、JSP、Python和TCL等语言,利用MSSQLserver2000所提供的API进行开发。
3.MSSQLserver2000可以运行在不同的平台上。
4.MSSQLserver2000有一个非常灵活且安全的权限和口令管理系统,并且允许基于主机的认证。
5.MSSQLserver2000提供ODBC for Windows 95,支持所以的ODBC2.5函数和其它许多函数。
6.MSSQLserver2000支持大型数据库处理。开发者正将MSSQLserver2000应用于某些包含50,000,000个记录的数据库上。
2.2.3 Tomcat Web服务器
本系统的操作所使用的web服务器软件为Tomcat。Tomcat是目前全世界的网站使用最多的服务器。在2000年2月十全世界有58.08%的使用率。同样地,Tomcat的优点也是稳定、快速与开放,同时也有众多的功能,并且可以在不同操作系统下执行。前面的内容已经介绍了web 服务器负责完成传送显示在浏览器的 HTML 文件内容,而数据处理就是 JSP 程序的工作了。所以在服务主机使用JSP时必须将解读JSP程序代码的功能加到Tomcat ,也就是按装Tomcat 的JSP 模块(module)。以往如果要加入JSP模块,就必须先将JSP的源代码编译成Tomcat 的模块,再将Tomcat加上JSP功能模块重新编译。从JSP3开始就支持了Tomcat 的动态共享对象(Dynamic Shared Object , DSO)模块的功能,也就是说JSP3可以编译DSO模块,Tomcat 只需在需要执行时调用JSP3模块就可以使用JSP3的功能。这样以来,即使修改JSP、换装新版本或是重新安装JSP都可以不必 动用Tomcat ,当然JSP4 也可以编译DSO模块。
2.3 系统技术基础
2.3.1 系统软件技术基础
本系统采用浏览器/服务器端的主从结构,由于是通过IE或Netscape浏览器浏览网页来访问查询和操作数据库,这样客户端基本上不运行其它的应用程序。
网络可以是内部域网或是Internet网络,采用通的TCP/IP协议。服务器可以运行在WindowsXP,Windows NT, UNIX等操作系统上,它是一个支持多平台的软件系统。
系统开发语言采用HTML语言,使用JSP语言来实现动态效果,数据库采用MSSQLserver2000 3.23.46a版本。
MSSQLserver2000数据库是一种功能强大的数据库。可以使用JSPmyadmin来操作数据库。它的使用环境可以是Windows或WindowsXP系统。
JSP的编程环境。JSP的编程环境很多,由于JSP是嵌入在Html语言之中在服务器端运行的。因此,它的编写和Html语言的编写有一样的环境。在Windows下有记事本、Deamweaver和JSPED等等。记事本,虽然十分易于得到,但是它功能过于简单在调试程序时十分不方便。Deamweavers是Macromedia公司开发的所见即所得的网页开发工具,不仅功能强大而且十分的易学好用。尤其对Html语言不是十分熟悉的用户而言,也可以更快的学习JSP语言。JSPED工具是集编写调试与一体的编写JSP工具软件。在这次编程期间,我选用了Deamweaver和JSPED来开发软件。
2.3.2系统的硬件基础
服务器可以运行在WindowsXP,Windows NT, UNIX等操作系统上,它是一个支持多平台的软件系统。由于服务器有多个用户共享,因此,它需要的一定容量的内存和硬盘。
CPU:PIII500以上
内存:128M以上
硬盘:10G以上
网卡:10M/100M
其他:调制解调器(可选)
安装WindowsXP操作系统或Windows NT操作系统。
客户端可以运行在Windows9x/Windows NT Windows2000,WindowsXP等操作系统上。仅仅需要安装IE,Netscape等浏览器,不需要安装任何客户端软件
CPU:Intel 80586或奔腾处理器
内存:32M以上
硬盘:1G以上
其他:鼠标、彩色监视器、网卡
选件:打印机、调制解调器(通过拨号连接服务器时使用)
安装WindowsXP操作系统或Windows NT操作系统
2.4 系统介绍
2.4.1系统整体介绍
本系统采用B/S结构,所有的程序及数据都放在服务器上,终端在取得相应的权限后使用Web页面浏览,录入,修改等功能。Windows9x/Windows NT Windows2000,WindowsXP等操作系统上。仅仅需要安装IE,Netscape等浏览器,不需要安装其它应用程序。考虑到通用性,本次安装了Windows98操作系统,IE版本。服务器可以运行在WindowsXP,Windows NT, UNIX等操作系统上,它是一个支持多平台的软件系统。考虑到成本和稳定性,我们先在服务器端安装了RedHat WindowsXP ,之后安装了Tomcat 5.0.24版本,最后安装了MSSQLserver2000 3.23.46a版本。在数据库中建立了gov_db数据库,建立了gwyflxxb表、gwygzxxb表、yfgzxxb表和ykgzxxb表。先在客户端Windows98环境中编写好Html程序和JSP程序,然后上传入服务器相应的目录中,进行一般调试和与数据库连接的调试。最后,在与其它小组进行联合调试。最终,实现在客户端根据权限使用浏览器访问服务器端的数据库的目的。
网络体系结构图如下所示:


2.4.2 财务管理在服务器系统功能模块
服务器端编写财务网页程序和JSP程序。财务管理的模块主要由三大部分组成。财务分类管理模块、数据录入管理模块和查询统计模块。
三、财务管理模块设计及实现
3.1数据库的设计
在服务器上MSSQLserver2000数据库中先建立了gov_dbbase数据库,在gov_dbbase数据库gov_dbbase数据库建立四个表分别为gwyflxxb表、gwygzxxb表、yfgzxxb表和ykgzxxb表。
3.2功能模块设计
3.2.1财务系统进入模块
首先先登录网的首页。必须填写姓名和密码,只有在对数据库中的信息核对无误后方能进入下一页。
这时对各项项目的操作权限都已经确定下来。如果有权限可以访问财务管理”一项。则链接可用再点击它则可以进入财务管理主页面。
财务管理主页面是使用了IFRAME来实现帧的管理。把画面分为两帧,分别为3.htm和2.htm。
界面如图:
主要源代码如下:

 

 

 

 

 

 


<br>
 


这样的好处使是本主页面在与其它主功能页面切换时,可以使几个帧在同一页面中完成切换,不必另而外出现新的页面和帧混乱的局面。左边分别为福利管理下有福利录入、修改记录、删除记录。在工资管理下有工资录入、修改记录和删除记录。查询统计下有员工福利、员工工资和记录汇总。
3.2 .2财务分类管理模块
主要功能使实现财务分类信息的录入,修改和删除等维护功能。它是直接对gov_dbbase数据库中进行操作。
界面如图:
c. 主要源代码如下:
if($Submit==合计){ //判断合计”还是提交” $YFHJ=$JBGZ+$GWGZ+$DZF+$WJBT+$JTF+$YLJT+$HSBT+$YYF+$FT+$JE1+$J E2+$JE3; //应发合计 $YKHJ=$GJJ+$GHF+$YLJ+$YKGS+$SF+$DF+$RQF+$SYBX+$YLBX+$JE4+$JE5+$JE6; //应扣合计
$HJ=$YFHJ-$YKHJ; //合计
require(rnsc.htm);
}
if($Submit==重填){
require(record_new_s.htm);
}
if($Submit==提交){
do{ //连接数据库
require(../config.JSP);
}while($sql==);
//向gwygzxxb插入新数据
$str=insert into gwygzxxb(GZQJ,FFRQ,GWYH,XM,ZW,BM,ZC)values($GZQJ,$FFRQ,$GWYH,$XM,$ZW,$BM,$ZC);
$result=MSSQLserver2000_query($str,$sql); //送出查询字符串
if($result==0){
echo can not query!!! ;
exit;
}
//向yfgzxxb插入新数据
$str=insert into gwygzxxb(GZQJ,GWYH,JBGZ,GWGZ,DZF,WJBT,JTF,YLJT,HSBT,YYF,FT,XM1,JE1,XM2,JE2,XM3,JE3,YFHJ)values($JBGZ,$GWGZ,$DZF,$WJBT,$JTF,$YLJT,$HSBT,$YYF,$FT,$XM1,$JE1,$XM2,$JE2,$XM3,$JE3,$YFHJ);
$result=MSSQLserver2000_query($str,$sql); //送出查询字符串
if($result==0){
echo can not query!!! ;
exit;
}
// 向ykgzxxb插入新数据
$str=insert into gwygzxxb(GZQJ,GWYH,GJJ,GHF,YLJ,YKGS,SF,DF,RQF,SYBX,YLBX,XM4,JE4,XM5,JE5,XM6,JE6,YKHJ,HJ)values($GJJ,$GHF,$YLJ,$YKGS,$SF,$DF,$RQF,$SYBX,$YLBX,$XM4,$JE4,$XM5,$JE5,$XM6,$JE6,$YKHJ,$HJ);
$result=MSSQLserver2000_query($str,$sql); //送出查询字符串
if($result==0){
echo can not query!!! ;
exit;
}
MSSQLserver2000_close(); //关闭数据库
echo 录入数据成功;
}else{echo 添加数据不成功!返回,请检查数据类型的正确性!;}
?>
2、数据录入模块
定位记录的界面:
将返回一个界面如图:
定位到记录的主要源代码如下:
do{ //连接数据库
require(../config.JSP);
}while($sql==);
//gwygzxxb
$str=select *
from gwygzxxb
where RQ=$RQ and XM=$XM and GWYH=$GWYH;
$result=MSSQLserver2000_query($str,$sql); //送出查询,将结果放入$result
if($result==0){
echo can not query to gwygzxxb;
exit;
}
$sn_index=MSSQLserver2000_num_rows($result); //查询结果的记录笔数
//yfgzxxb
$str=select *
from yfgzxxb
where RQ=$RQ and GWYH=$GWYH;
$result=MSSQLserver2000_query($str,$sql); //送出查询,将结果放入$result
if($result==0){
echo can not query to yfgzxxb;
exit;
}
$sn_index=MSSQLserver2000_num_rows($result); //查询结果的记录笔数
//ykgzxxb
$str=select *
from ykgzxxb
where RQ=$RQ and GWYH=$GWYH;
$result=MSSQLserver2000_query($str,$sql); //送出查询,将结果放入$result
if($result==0){
echo can not query to ykgzxxb;
exit;
}
$sn_index=MSSQLserver2000_num_rows($result); //查询结果的记录笔数
if($sn_index==0){
echo 没有满足条件的数据;
exit;
}
echo 符合条件的共有$sn_index条记录;
修改工资记录模块的主要源代码如下:
$YFHJ=$JBGZ+$GWGZ+$DZF+$WJBT+$JTF+$YLJT+$HSBT+$YYF+$FT+$JE1+$JE2+$JE3; //应发合计 $YKHJ=$GJJ+$GHF+$YLJ+$YKGS+$SF+$DF+$RQF+$SYBX+$YLBX+$JE4+$JE5+$JE6; //应扣合计
$HJ=$YFHJ-$YKHJ; //合计
do{
require(../config.JSP);
}while($sql==);
//gwygzxxb更新
$str=UPDATE gwygzxxb SET GZQJ=$GZQJ,FFRQ=$FFRQ,GWYH=$GWYH,XM=$XM,ZW=$ZW,BM=$BM,ZC=$ZC
where GZQJ=$GZQJ AND GWYH=$GWYH;
$result=MSSQLserver2000_query($str,$sql); //送出查询,将结果放入$result
if($result==0){
echo can not query to gwygzxxb;
exit;
}
//yfgzxxb更新
$str=UPDATE yfgzxxb SET GZQJ=$GZQJ,GWYH=$GWYH,JBGZ=$JBGZ,GWGZ=$GWGZ,DZF=$DZF,WJBT=$WJBT,JTF=$JTF,YLJT=$YLJT,HSBT=$HSBT,YYF=$YYF,FT=$FT,XM1=$XM1,JE1=$JE1,XM2=$XM2,JE2=$JE2,XM3=$XM3,JE3=$JE3,YFHJ=$YFHJ
where GZQJ=$GZQJ AND GWYH=$GWYH;
$result=MSSQLserver2000_query($str,$sql); //送出查询,将结果放入$result
if($result==0){
echo can not query to yfgzxxb;
exit;
}
//ykgzxxb更新
$str=UPDATE ykgzxxb SET GZQJ=$GZQJ,GWYH=$GWYH,GJJ=$GJJ,GHF=$GHF,YLJ=$YLJ,YKGS=$YKGS,SF=$SF,DF=$DF,RQF=$RQF,SYBX=$SYBX,YLBX=$YLBX,XM4=$XM4,JE4=$JE4,XM5=$XM5,JE5=$JE5,XM6=$XM6,JE6=$JE6,YKHJ=$YKHJ,HJ=$HJ
where GZQJ=$GZQJ AND GWYH=$GWYH;
$result=MSSQLserver2000_query($str,$sql); //送出查询,将结果放入$result
if($result==0){
echo can not query ykgzxxb;
exit;
}else{
echo 修改成功!
;
}
MSSQLserver2000_close(); //关闭数据库
require(search_g_d1.JSP);//调用search_ren2.JSP
?>
3、删除记录模块
删除记录,在左边的帧中出现删除记录的页面,在这里实现删除功能。
主要源代码:
do{
require(../config.JSP);
}while($sql==);
//从gwygzxxb删除
$str=DELETE FROM gwygzxxb
WHERE GZQJ=$GZQJ AND XM=$XM AND GWYH=$GWYH;
$result=MSSQLserver2000_query($str, $sql);
if(!result){
echo can not query to gwygzxxb;
exit;
}
$affected_rows=MSSQLserver2000_affected_rows($sql);
//从yfgzxxb删除
$str=DELETE FROM yfgzxxb
WHERE GZQJ=$GZQJ AND GWYH=$GWYH;
$result=MSSQLserver2000_query($str, $sql);
if(!result){
echo can not query to yfgzxxb;
exit;
}
$affected_rows=MSSQLserver2000_affected_rows($sql);
//从ykgzxxb删除
$str=DELETE FROM gwygzxxb
WHERE GZQJ=$GZQJ AND GWYH=$GWYH;
$result=MSSQLserver2000_query($str, $sql);
if(!result){
echo can not query to ykgzxxb;
exit;
}
$affected_rows=MSSQLserver2000_affected_rows($sql);
MSSQLserver2000_close();
echo $year-$month$XM公务员号:$GWYH 已经被成功的删除了.;
require(search_g_d1.JSP);//调用search_ren2.JSP
?>
3.2.2数据统计模块
界面如图:
四、系统评价
本系统在有限的时间完成,对于用户所提到的要求基本上都已经达到。系统的界面比较完善,功能模块比较实用,系统稳定性很好和操作十分的方便好用。可以说系统已经初具雏形,
本系统在现有的基础上,可以对于后端数据库系统的设计有待在又节约数据库资源和又便于客户端查询更方便的基础上进一步完善和协调。随着用户使用的反馈,可以对系统的功能可以进一步进行完善,界面设计更友好。
最后,我衷心感谢徐虹等各位老师对我的悉心指导和帮助,也一并感谢我毕业设计合作者的众多同学对我的帮助。

总结
经过一个多月的设计和开发,网上人才招聘系统开发完毕。系统基本符合网站风格。后台主要是网络管理员登录,进行招聘信息管理、求职信息管理及个人、企业会员管理等,完全满足了网站正常、安全的运行。前台主要是各类信息的浏览,以及个人或企业用户登录发布或修改自己信息。
在整个设计过程中,出现过很多的问题,得到了老师和同学的帮助,在不断学习的过程中我体会到:
1、作是一个不断学习的过程,从设计初的模糊认识到最后能够顺利完成,我体会到在实践中学习的重要性。
2、由于开始时对系统缺乏整体认识,不具备软件开发思想,对系统的功能需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。
3、在设计过程中,遇到很多困难,我学会通过别人的代码理解语言的含义但这并不是抄袭,然后根据自己的设计要求编写代码。
4、设计过程中,由于要实现某些功能,网上资源解决了我的问题。。
总之,通过这次设计,我深刻体会到要做好一个完整的事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。就比如说在这次的设计,我不但对JSP和MS SQL SERVER2000有了深刻的认识,积累了使用软件工程的思想来开发软件的经验,同时最重要的是摸索出了一套考虑问题和解决问题的方法,这对于我以后的学习受益匪浅。
结束语
经过十个月的不懈努力,和指导老师的谆谆教导,以及同组同学的团结协作,充分利用大学四年所学的专业知识,通过大量阅读与设计相关的专业参考文献,我终于完成了本次毕业设计,已经基本上实现了网上人才招聘系统的各项功能。
通过这次毕业设计,我掌握了SQLServer2000这种大型数据库的编程方法,掌握了JAVA语言和JSP技术。了解到网站的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、书本上学到的知识和理论。同时,通过编写毕业设计论文,我还基本掌握了软件文档的编写方法和编写格式。
本系统尽管有自己的特色,如留言板等,但缺陷也是明显的,如安全性,效率问题等等。由于时间,能力,JAVA,JSP技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难。
通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术。以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,去图书馆查询资料,扩大了自己的知识面。
总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。
附:部分程序代码
package com.util;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.activation.DataSource;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
public class DBO {
private Connection conn;
private Statement stmt;
private DataSource ds;

public DBO()
{
}
/**
打开数据库
*/
public void open()
{
try
{
Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);
conn = DriverManager.getConnection(jdbc:microsoft:sqlserver://localhost:1433;databasename=jspcaiwu,sa,123);
//conn = DriverManager.getConnection(jdbc:microsoft:sqlserver://localhost:1433;databasename=sy8009sql,sy8009sql,sy8009sql);
stmt=conn.createStatement();
//System.out.println(打开数据库连接);
}
catch (Exception ex)
{
//System.err.println(打开数据库时出错: + ex.getMessage());
}
}
/**
关闭数据库,将连接返还给连接池
*/
public void close()
{
try
{


// connMgr.freeConnection(java, conn);
conn.close();
//System.out.println (释放连接);
}
catch (SQLException ex)
{
//System.err.println(返还连接池出错: + ex.getMessage());
}
}
/**
执行查询
*/
public ResultSet executeQuery(String sql) throws SQLException
{
ResultSet rs = null;

rs = stmt.executeQuery(sql);
//System.out.println (执行查询);
return rs;
}
/**
执行增删改
*/
public int executeUpdate(String sql) throws SQLException
{
int ret = 0;


ret = stmt.executeUpdate(sql);

//System.out.println (执行增删改);
return ret;
}
/**
将SQL语句加入到批处理
*/
public void addBatch(String sql) throws SQLException
{
stmt.addBatch(sql);
}
/**
执行批处理
*/
public int [] executeBatch() throws SQLException
{
boolean isAuto=conn.getAutoCommit();

conn.setAutoCommit(false);
int [] updateCounts = stmt.executeBatch();

// conn.commit();

// conn.setAutoCommit(isAuto);
//conn.setAutoCommit(true);
return updateCounts;
}
public boolean getAutoCommit() throws SQLException
{
return conn.getAutoCommit();
}
public void setAutoCommit(boolean auto) throws SQLException
{
conn.setAutoCommit(auto);
}

public void commit() throws SQLException
{
conn.commit();
// this.close();
}
public void rollBack() throws SQLException
{
conn.rollback();
// this.close();
}

}
package com.bean;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.util.Constant;
import com.util.DBO;
public class CaiWu {
private List list;
private ResultSet rs;
private String date=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(Calendar.getInstance().getTime());

//增加分类
public int addFenLei(String fenlei){
String sql = insert into classname (flmc,addtime) values(+fenlei+,+date+);
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)
return Constant.SUCCESS;
else
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
// 修改分类
public int upFenLei(int id,String fenlei){
String sql = update classname set flmc=+fenlei+ where id=+id+;
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)
return Constant.SUCCESS;
else
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
// 删除分类
public int delFenLei(int id){
String sql = delete from classname where id=+id+;
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)
return Constant.SUCCESS;
else
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
// 所有分类
public List getAllFenLei(){
String sql = select * from classname order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
//增加财务 输入
public int addCaiWu(String fenlei,String xingzhi,String shuoming,String shuliang,String remark){
String sql =insert into inmoney(fenlei,xingzhi,shuoming,shuliang,remark,addtime) +
values(+fenlei+,+xingzhi+,+shuoming+,+shuliang+,+remark+,+date+);
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)
return Constant.SUCCESS;
else
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
// 修改财务 输入
public int upCaiWu(int id,String fenlei,String xingzhi,String shuoming,String shuliang,String remark){
String sql =update inmoney set fenlei=+fenlei+,xingzhi=+xingzhi+,shuoming=+shuoming+,shuliang=+shuliang+,remark=+remark+ where id=+id+;
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)
return Constant.SUCCESS;
else
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
// 删除财务 输入
public int delCaiWu(int id){
String sql =delete from inmoney where id=+id+;
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)
return Constant.SUCCESS;
else
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
// 所有财务 输入
public List getAllCaiWu(){
String sql = select * from inmoney order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
// 单个财务 输入
public List getOneCaiWu(int id){
String sql = select * from inmoney where id=+id+ ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
list.add(rs.getString(1));
list.add(rs.getString(2));
list.add(rs.getString(3));
list.add(rs.getString(4));
list.add(rs.getString(5));
list.add(rs.getString(6));

}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public int chuShiHua(){
String sql=delete from inmoney;
String sql2=delete from classname;
String sql3=delete from adminlog;
DBO dbo = new DBO();
dbo.open();
try{
dbo.executeUpdate(sql);
dbo.executeUpdate(sql2);
dbo.executeUpdate(sql3);
return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return 0;
}finally{
dbo.close();
}
}
// 所有财务 输入
public List getAllCaiWu1(String xingzhi){
String sql = select * from inmoney where xingzhi=+xingzhi+ order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public List getAllCaiWu2(String ks,String js){
String sql = select * from inmoney where addtime>+ks+ 00:00:01 and addtime<+js+ 23:59:59 order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public List getAllCaiWu3(String js){
String sql = select * from inmoney where addtime<+js+ 23:59:59 order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public List getAllCaiWu4(String ks){
String sql = select * from inmoney where addtime>+ks+ 00:00:01 order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public List getAllCaiWu5(String ks,String js,String xingzhi){
String sql = select * from inmoney where addtime>+ks+ 00:00:01 and addtime<+js+ 23:59:59 and xingzhi=+xingzhi+ order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public List getAllCaiWu6(String js,String xingzhi){
String sql = select * from inmoney where addtime<+js+ 23:59:59 and xingzhi=+xingzhi+ order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public List getAllCaiWu7(String ks,String xingzhi){
String sql = select * from inmoney where addtime>+ks+ 23:59:59 and xingzhi=+xingzhi+ order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
//all in ,all out
public List getAllIn(String xingzhi){
String sql = select * from inmoney where xingzhi=+xingzhi+ order by id desc ;
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
}
package com.bean;
/**
*
* 管理员登陆 修改密码 登陆记录查询 通用类文件
*
*/
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.util.Constant;
import com.util.DBO;
public class AdminBean {
private List list;
private ResultSet rs = null;
private int EVERYPAGENUM = 2;
private int count = -1;
private int qq = 0;
private String sql=select count(*) from adminlog;
private String sql2=select * from adminlog order by id desc ;
//声明时间变量
String date=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(Calendar.getInstance().getTime());

//分页查询登陆日志
public void setEVERYPAGENUM(int EVERYPAGENUM){
this.EVERYPAGENUM=EVERYPAGENUM;
}
public int getMessageCount() { //得到信息总数
DBO dbo=new DBO();
dbo.open();
try {
rs = dbo.executeQuery(sql);
rs.next();
count = rs.getInt(1);
return count;
} catch (SQLException ex) {
ex.printStackTrace();
return -1;
} finally {
dbo.close();
}
}
public int getPageCount() { //得到共多少页(根据每页要显示几条信息)
if (count % EVERYPAGENUM == 0) {
return count / EVERYPAGENUM;
} else {
return count / EVERYPAGENUM + 1;
}
}
public List getMessage(int page) { //得到每页要显示的信息
DBO dbo=new DBO();
dbo.open();
List list = new ArrayList();
try {
rs = dbo.executeQuery(sql2);
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
qq++;
List list2=new ArrayList();
list2.add(rs.getInt(id));
list2.add(rs.getString(username));
list2.add(rs.getString(password));
list2.add(rs.getString(logintime));
list2.add(rs.getString(loginip));
list2.add(rs.getString(useros));
list2.add(rs.getString(ok));
list.add(list2);
} else {
break; //减少空循环的时间
}
}
return list;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
} finally {
dbo.close();
}
}
//管理员登录 更新登录次数 写登录日志
public int adminLogin(String username,String md5password,String password,String loginip,String useros){
String sql = select * from admin where username = +username+ and isuse=1;
String sql2 = insert into adminlog(username,password,logintime,loginip,useros,ok) values(+username+,+md5password+,+date+,+loginip+,+useros+,true);
String sql3 = insert into adminlog(username,password,logintime,loginip,useros,ok) values(+username+,+password+,+date+,+loginip+,+useros+,false);
String sql4 = update admin set logintimes = logintimes+1 where username = +username+ ;
DBO dbo = new DBO();
String pwd;
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
pwd = rs.getString(password);
if(pwd.trim().equals(md5password)){
dbo.executeUpdate(sql2);
dbo.executeUpdate(sql4);
return Constant.SUCCESS;
}
else{
dbo.executeUpdate(sql3);
return Constant.PASSWORD_ERROR;
}
}
else{
dbo.executeUpdate(sql3);
return Constant.NAME_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}

//查询管理员信息
public List getAdminInfo(String username){
String sql = select * from admin where username=+username+ ;
DBO dbo = new DBO();
dbo.open();
list = new ArrayList();
try{
rs = dbo.executeQuery(sql);
rs.next();
list.add(rs.getString(username));
list.add(rs.getInt(flag));
list.add(rs.getInt(logintimes));
list.add(date);
list.add(rs.getString(quanxian));
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}

//admin edit password
public int editPassword(String username,String oldpwd,String newpwd){
String sql=select * from admin where username = +username+ and password = +oldpwd+;
String sql2=update admin set password = +newpwd+ where username = +username+;
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
int i = dbo.executeUpdate(sql2);
if(i == 1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}
else{
return Constant.PASSWORD_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}

//add manager
public int addManager(String username,String password,String type,String isuse){
String sql = insert into admin(username,password,creattime,flag,isuse,logintimes,quanxian) values(+username+,+password+,+date+,+type+,+isuse+,0,111);
String sql2 = select * from admin where username = +username+;
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql2);
if(rs.next()){
return Constant.SAME_NAME;
}
else{
int i = dbo.executeUpdate(sql);
if(i == 1)return Constant.SUCCESS;
else return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}

//update manager
public int updateManager(String username,String password,String type,String isuse){
String sql;
if(password.equals()){
sql = update admin set flag = +type+ ,isuse = +isuse+ where username = +username+;
}
else{
sql = update admin set password = +password+ ,flag = +type+ ,isuse = +isuse+ where username = +username+;
}
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)return Constant.SUCCESS;
else return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}

//get all manager
public List getAllManager(){
String sql = select * from admin where flag !=1 order by id asc;
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
list2.add(rs.getInt(1));
list2.add(rs.getString(2));
list2.add(rs.getString(4));
list2.add(rs.getInt(5));
list2.add(rs.getInt(6));
list2.add(rs.getInt(7));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}

//delete manager
public int delManager(int id){
String sql = delete from admin where id = +id+;
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1)return Constant.SUCCESS;
else return Constant.SYSTEM_ERROR;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}

//delete login note
public int delLog(int id[]){
DBO dbo=new DBO();
dbo.open();
try{
for(int i = 0;i dbo.executeUpdate(delete from adminlog where id = +id[i]+);
}
return Constant.SUCCESS;
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
}
package com.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.bean.CaiWu;
import com.util.Constant;
public class CaiWuServlert extends HttpServlet {
/**
* Constructor of the object.
*/
public CaiWuServlert() {
super();
}
/**
* Destruction of the servlet.
*/
public void destroy() {
super.destroy(); // Just puts destroy string in log
// Put your code here
}
/**
* The doGet method of the servlet.
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
/**
* The doPost method of the servlet.
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(Constant.CONTENTTYPE);
request.setCharacterEncoding(Constant.CHARACTERENCODING);
String method=request.getParameter(method).trim();
CaiWu cw=new CaiWu();
if(method.equals(addfenlei)){
String fenlei=request.getParameter(fenlei).trim();
int flag=cw.addFenLei(fenlei);
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/fenlei.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/fenlei.jsp).forward(request, response);
}
}
else if(method.equals(upfenlei)){
String id=request.getParameter(id).trim();
String fenlei=request.getParameter(fenlei).trim();
int flag = cw.upFenLei(Integer.parseInt(id), fenlei);
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/fenlei.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/fenlei.jsp).forward(request, response);
}
}
else if(method.equals(delfenlei)){
String id=request.getParameter(id).trim();
int flag=cw.delFenLei(Integer.parseInt(id));
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/fenlei.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/fenlei.jsp).forward(request, response);
}
}
else if(method.equals(addin)){
String fenlei=request.getParameter(fenlei).trim();
String xingzhi=request.getParameter(xingzhi).trim();
String shuoming=request.getParameter(shuoming).trim();
String shuliang=request.getParameter(shuliang).trim();
String remark=request.getParameter(remark).trim();
int flag=cw.addCaiWu(fenlei, xingzhi, shuoming, shuliang, remark);
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/all.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/all.jsp).forward(request, response);
}
}
else if(method.equals(upin)){
String id=request.getParameter(id).trim();
String fenlei=request.getParameter(fenlei).trim();
String xingzhi=request.getParameter(xingzhi).trim();
String shuoming=request.getParameter(shuoming).trim();
String shuliang=request.getParameter(shuliang).trim();
String remark=request.getParameter(remark).trim();
int flag=cw.upCaiWu(Integer.parseInt(id), fenlei, xingzhi, shuoming, shuliang, remark);
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/all.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/all.jsp).forward(request, response);
}
}
else if(method.equals(delin)){
String id=request.getParameter(id).trim();
int flag=cw.delCaiWu(Integer.parseInt(id));
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/all.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/all.jsp).forward(request, response);
}
}
else if(method.equals(delall)){
int flag=cw.chuShiHua();
if(flag==Constant.SUCCESS){
request.setAttribute(message, 操作成功!);
request.getRequestDispatcher(admin/caiwu/chushihua.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(admin/caiwu/chushihua.jsp).forward(request, response);
}
}
}
/**
* Initialization of the servlet.
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
package com.action;
/**
* 管理员登陆 增加 修改 删除 删除登陆日志
*/
import java.io.IOException;
import java.util.List;
import java.util.StringTokenizer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.bean.AdminBean;
import com.bean.SystemBean;
import com.util.Constant;
import com.util.MD5;
public class AdminServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public AdminServlet() {
super();
}
/**
* Destruction of the servlet.
*/
public void destroy() {
super.destroy(); // Just puts destroy string in log
// Put your code here
}
/**
* The doGet method of the servlet.
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
/**
* The doPost method of the servlet.
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(Constant.CONTENTTYPE);
request.setCharacterEncoding(Constant.CHARACTERENCODING);
try{
String method=request.getParameter(method).trim();
AdminBean loginbean = new AdminBean();
HttpSession session = request.getSession();
session.setMaxInactiveInterval(1200);
SystemBean systembean = new SystemBean();
String sysdir = systembean.getDir();
if(method.equals(one)){//admin登录
String username = request.getParameter(username);
String password = request.getParameter(password);
if(username == null||username.trim().equals()){
request.setAttribute(message, 请正确输入用户名!);
request.getRequestDispatcher(index.jsp).forward(request, response);
}
else if(password == null||password.trim().equals()){
request.setAttribute(message, 请输入密码!);
request.getRequestDispatcher(index.jsp).forward(request, response);
}
else{
String md5password = MD5.MD5(password);
String agent = request.getHeader(user-agent);
StringTokenizer st = new StringTokenizer(agent,;);
String useros=st.nextToken();
String loginip = request.getRemoteAddr();
int flag = loginbean.adminLogin(username,md5password, password,useros,loginip);
switch (flag){
case Constant.SUCCESS:
List list = loginbean.getAdminInfo(username);
session.setAttribute(user, username);
session.setAttribute(list, list);
request.getRequestDispatcher(sysdir+/).forward(request, response);
break;
case Constant.NAME_ERROR:
request.setAttribute(message, 用户名错误!请确认管理权限!);
request.getRequestDispatcher(index.jsp).forward(request, response);
break;
case Constant.PASSWORD_ERROR:
request.setAttribute(message, 密码错误,请确认管理权限!);
request.getRequestDispatcher(index.jsp).forward(request, response);
break;
}
}
}
else if(method.equals(editpwd)){//admin edit password
String username2 = (String)session.getAttribute(user);
if(username2 == null){
request.getRequestDispatcher(error.jsp).forward(request, response);
}
else{
String oldpwd = MD5.MD5(request.getParameter(oldpwd).trim());
String newpwd = MD5.MD5(request.getParameter(newpwd).trim());
String username = (String)session.getAttribute(user);
int flag = loginbean.editPassword(username, oldpwd, newpwd);
switch (flag){
case Constant.SUCCESS:
request.setAttribute(message, 密码修改成功!);
request.getRequestDispatcher(sysdir+/system/editpwd.jsp).forward(request, response);
break;
case Constant.PASSWORD_ERROR:
request.setAttribute(message, 原始密码错误,请确认权限!);
request.getRequestDispatcher(sysdir+/system/editpwd.jsp).forward(request, response);
break;
case Constant.SYSTEM_ERROR:
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(sysdir+/system/editpwd.jsp).forward(request, response);
break;
}
}
}
else if(method.equals(exit)){//admin exit
String username2 = (String)session.getAttribute(user);
if(username2 == null){
request.getRequestDispatcher(error.jsp).forward(request, response);
}
else{
session.removeAttribute(user);
session.removeAttribute(list);
System.gc();
request.getRequestDispatcher(index.jsp).forward(request, response);
}
}
else if(method.equals(manager)){//add,update manager
String username2 = (String)session.getAttribute(user);
if(username2 == null){
request.getRequestDispatcher(error.jsp).forward(request, response);
}
else{
String ra = request.getParameter(ra).trim();
if(ra.equals(add)){
String username = request.getParameter(username).trim();
String password = MD5.MD5(request.getParameter(password).trim());
String isuse = request.getParameter(isuse).trim();
if(isuse.equals(在用))
isuse = 1;
else
isuse = 2;
int flag = loginbean.addManager(username, password, 2, isuse);
if(flag == Constant.SUCCESS){
request.setAttribute(message, 增加管理员成功!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
else if(flag == Constant.SAME_NAME){
request.setAttribute(username, username);
request.setAttribute(message, 该用户名已经存在!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
}
else if(ra.equals(update)){
String username = request.getParameter(username).trim();
String password = request.getParameter(password).trim();
String isuse = request.getParameter(isuse).trim();
if(!password.equals()){
password = MD5.MD5(password);
}
if(isuse.equals(在用))
isuse = 1;
else
isuse = 2;
int flag = loginbean.updateManager(username, password, 2, isuse);
if(flag == Constant.SUCCESS){
request.setAttribute(message, 修改管理员信息成功!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
}
}
}
else if(method.equals(delm)){//delete manager
String username2 = (String)session.getAttribute(user);
if(username2 == null){
request.getRequestDispatcher(error.jsp).forward(request, response);
}
else{
int id = Integer.parseInt(request.getParameter(id).trim());
if(id == 1){
request.setAttribute(message, 不能删除原始帐号!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
else{
int flag = loginbean.delManager(id);
if(flag == Constant.SUCCESS){
request.setAttribute(message, 删除成功!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response);
}
}
}
}
else if(method.equals(dellog)){//delete login note
String username2 = (String)session.getAttribute(user);
if(username2 == null){
request.getRequestDispatcher(error.jsp).forward(request, response);
}
else{
String check[] = request.getParameterValues(checkit);
if(check == null){
request.setAttribute(message, 请选择要删除的记录!);
request.getRequestDispatcher(sysdir+/system/log.jsp).forward(request, response);
}
else{
int id[]= new int[check.length];
for(int i = 0;i int s = Integer.parseInt(check[i]);
id[i] = s;
}
int flag = loginbean.delLog(id);
if(flag == Constant.SUCCESS){
request.setAttribute(message, 删除记录成功!);
request.getRequestDispatcher(sysdir+/system/log.jsp).forward(request, response);
}
else{
request.setAttribute(message, 系统维护中,请稍后再试!);
request.getRequestDispatcher(sysdir+/system/log.jsp).forward(request, response);
}
}
}
}
else{//无参数传入转到错误页面
request.getRequestDispatcher(error.jsp).forward(request, response);
}
}catch(Exception e){
e.printStackTrace();
request.getRequestDispatcher(error.jsp).forward(request, response);
}

}
/**
* Initialization of the servlet.
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}

 

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

切梦刀

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值