摘 要
伴随着全球化的发展,码头的物流和客运增多,码头业务迎来新的高峰。然而码头业务的增加,导致了人员成本和工作量的增多。为了解决这一基本问题,码头船只出行及配套货柜码放管理系统应运而生。
此次码头船只出行及配套货柜码放管理系统的开发与设计将使用当前主流的编程语言Java来开发,采用流行的Java三大框架(Spring + Struts +Hibernate)实现出一个功能相对齐全、界面简洁、使用方便、用户体验度相对较高的码头船只出行及配套货柜码放管理系统。
该系统为用户提供了一个码头船只出行及配套货柜码放管理系统,在系统中可以管理用户、管理船只、管理货柜等等,另外设置了两种权限(管理员和员工),不同权限的用户登录后操作不一样,让用户体会到一个真实的码头船只出行及配套货柜码放管理系统。
本设计遵循码头业务流程,从实际出发,多方调研,反复测试,实现一个功能稳定、性能极佳的码头船只出行及配套货柜码放管理系统。
关键词:系统,Java,管理,web
1.5 论文内容安排
该码头船只出行及配套货柜码放管理系统,我计划完成对码头船只分配货柜和路线的管理问题。论文内容分为六大部分。
第一部分是引言,简要描述课题的背景、课题的意义以及研究目的等。从而得到开发一个针对码头工作者的码头船只出行和货柜码放管理系统的可行性与必要性
第二部分则是系统开发工具及环境分析,对系统中用到的的关键语言和技术进行大致的解释
第三部分对码头船只出行及配套货柜码放管理系统的需求进行了分析,列出了详细的需求列表,对系统的功能、性能、运行等方面进行有效的分析
第四部分对该系统进行详细的设计与实现,针对各个模块的流程与类进行了详细设计,最后对系统的数据库进行了设计。通过该章,为之后的编码提供了基础
第五部分则主要描述了对系统核心功能的测试
第六部分进行结论的总结,总结论文的研究方法与成果,并且说明系统目前存在的问题,并展望今后的扩展方向
2 系统开发技术及环境
2.1 java语言
本次开发中我使用了java语言进行实现。采用该语言的原因主要是它在跨平台、动态的Web、Internet计算等方面很出色。并且常用的浏览器现在均支持Java applet。另一方面,Java技术在不断更新。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,是一种非常实用的语言 [8][9] 。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可以分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。
2.2 开发工具MyEclipse
MyEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。对于编程人员来说,MyEclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)会提供很大的便利。由于My Eclipse 中的每样东西都是插件,对于给 MyEclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 MyEclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 、 COBOL、PHP 等编程语言的插件已经可用。
2.3 MySQL数据库
MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作 [10] 。
2.4 JSP技术
JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(.htm,.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了HTML语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能 [11] 。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.5 Servlet
Servlet是在服务器上运行的小程序。这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在服务器端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务 [11]。
服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(CGI(Common Gateway Interface))应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现。在通信量大的服务器上,Java servlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。
最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
客户端发送请求至服务器端
服务器将请求信息发送至Servlet
Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求
服务器将响应返回给客户端
Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java ServletAPI的包。因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为FacelessObject。
一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。
2.6 系统开发环境
J2EE的开发平台是一个开放的平台,可以选用Sun公司的开发平台NetBeans、也可以使用最为流行的开发平台Eclipse等。在这个课题里我选用现在最为通用的,也是开发效率最高的开发平台My eclipse。由于本课题采用的SSH架构在开发和使用阶段对硬件没有特殊要求,所以在设计开发过程中,出于性能和效率的考虑,我们采用了较为简单的Tomcat作为Web服务器。如下是该码头船只出行及其配套货柜码放管理系统的开发环境:
操作系统:Windows 7
数据库:MySQL 5.0
Web服务器:Tomcat 6.0
Java编译器:JDK 1.6
开发框架:Struts 2 + Spring 2.5+ Hibernate 3.1
开发工具:My eclipse
3 系统需求分析
一款实用的软件就是要能够让用户得到很好的体验,本系统开发就是本着这样的目标,首先必须了解用户真正的需要。做好一个强大的市场调查和合理的需求分析,在开发过程中多问自己一些“用户需要什么”的问题。
3.1 系统功能需求
软件开发前的需求分析[12]是软件最终成败的关键,如果没有进行详细的需求分析,没有充分理解系统中各类用户的实际需求,那么最终的软件成品充其量只能说是软件开发者的作品而已,而没有任何实用价值可言。所以,在开发码头船只出行及其配套货柜码放管理系统之初 ,要对系统需求进行详细的分析,本系统所实现的最终目标:就是要使码头管理实现全面的规范化、科学化、自动化、高效化和流程化。对于码头日常管理来说,主要是码头船只的管理,码头信息的发布,码头船只配套货柜的管理,码头出行路线的管理等等。该系统为基于web开发的码头船只出行及配套货柜码放管理系统,通过ssh框架实现的。拥有的功能有:用户登录、修改个人信息、查看码头信息;增加、删除、修改系统管理人员;增加、删除、修改船只信息;删除、增加、修改船只路线信息;增加、修改、删除货柜信息。因此,该系统应具有如下的功能,如图3.1.1。
用户登录:该模块分为三种用户的登录,一是一般(查看)用户,他的权限只有修改个人信息和查看功能;二是一般(操作)用户登录,他可以修改自己的信息,还可以对系统内容进行增加、删除和修改;三是具有最大权限的系统管理员,他可以修改自己的信息,并且不仅有查看、增删改的基本权限,还有对用户的管理和注册权限
用户管理:该模块实现对用户的增加,删除和修改
个人信息维护:该模块实现用户对自己的名字和密码等个人信息的修改
新闻公告管理:该模块实现新闻公告的增加,删除和修改
船只管理:该模块实现船只的增加,删除和修改
路线管理:该模块实现路线的增加,删除和修改,以及船只与路线关系的管理
货柜管理:该模块实现货柜的增加,删除和修改,以及船只与货柜关系的管理
完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取:
https://www.write-bug.com/article/3218.html