基于Java开发的银行系统详细设计+源码
编写虚拟社区遇到的困难及解决方法
在编码的第一开始,我们就遇到了巨大的难题,分工是很细致了,但是如何来让每个人编写的代码其他人都能用呢?
这时候我们才发现设计和分工不是最难的,最难的是合作,但是我们并不惧怕困难,先考虑各个人编写的代码其他那几个人用得到,自己编码时要用到别人的那些代码,同时个人编码之前先写好Public 类名以及需要参数和返回参数。这样别人子要知道如何调用函数就行了。在对数据库操作方面我们也屡屡出错,为此我们到图书馆找来数据库SQL方面的书进行学习。后来,我们在RMI远程调用方面也遇到了问题。及使用安全策略文件来设置Java程序权限的问题,通过查找网上资料并向网上的高手请教,我们终于让问题得到了圆满的解决。
代码编完后,我们花了近一半的时间进行整合,使得各自的代码能够互相调用,由于代码方面各人之间必须相互调用,因此,我们不得不一个一个事件驱动,一个一个函数的进行调试,虽然最后出来有一些代码编了没用,有一些代码重复编了,还有一些代码不得不重编,但是我们最后还是圆满实现了设计要求,完成了任务。
虚拟社区结构
本虚拟社区由三部分构成:银行端、服务端、客户端。
银行端
银行服务器,其界面如下图:
? 在这个界面上,我们可以查看银行数据库里边各个表的内容。
? 同时,这个界面提供一个增加帐户和一个删除帐户按钮。
? 作为提供给专业管理员的界面,我们在里面添加了一个直接输入SQL语言的文本框。
? 管理员可直接使用数据库语言对数据库进行操作。
而整个银行服务器是由银行类、RMI接口及实现类、Mypane类构成:
public static void main(String[] args) {
// System.setSecurityManager(new RMISecurityManager());
try {
BankServerInterfaceImpl obj =
new BankServerInterfaceImpl();
registerToRegistry("BankServerInterfaceImpl", obj, true);
System.out.println("Bank server " + obj + " registered");
}
catch (RemoteException ex) { ex.printStackTrace(); }
catch (MalformedURLException ex) { ex.printStackTrace(); }
MyPanel applet = new MyPanel();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Bank Server SQL Operator ");
frame.getContentPane().add(applet, BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(700, 500);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((d.width - frame.getSize().width) / 2,
(d.height - frame.getSize().height) / 2);
frame.setVisible(true); }
public static void registerToRegistry(String name, Remote obj,
boolean create) throws RemoteException, MalformedURLException{
if (name == null) throw new IllegalArgumentException(
"registration name can not be null");
try {
Naming.rebind(name, obj); }
catch (RemoteExcept
1