银行系统项目设计文档(详细文档) 编写虚拟社区遇到的困难及解决方法 在编码的第一开始,我们就遇到了巨大的难题,分工是很细致了,但是如何来让每个人编写的代码其他人都能用呢? 这时候我们才发现设计和分工不是最难的,最难的是合作,但是我们并不惧怕困难,先考虑各个人编写的代码其他那几个人用得到,自己编码时要用到别人的那些代码,同时个人编码之前先写好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 (RemoteException
1