【java毕业设计】基于javaEE+SSH+mysql的码头船只出行及配套货柜码放管理系统设计与实现(毕业论文+程序源码)——码头船只出行及配套货柜码放管理系统

基于javaEE+SSH+mysql的码头船只出行及配套货柜码放管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于javaEE+SSH+mysql的码头船只出行及配套货柜码放管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 此次码头船只出行及配套货柜码放管理系统的开发与设计将使用当前主流的编程语言Java来开发,采用流行的Java三大框架(Spring + Struts +Hibernate)实现出一个功能相对齐全、界面简洁、使用方便、用户体验度相对较高的码头船只出行及配套货柜码放管理系统。

  2. 该系统为用户提供了一个码头船只出行及配套货柜码放管理系统,在系统中可以管理用户、管理船只、管理货柜等等,另外设置了两种权限(管理员和员工),不同权限的用户登录后操作不一样,让用户体会到一个真实的码头船只出行及配套货柜码放管理系统。
    本设计遵循码头业务流程,从实际出发,多方调研,反复测试,实现一个功能稳定、性能极佳的码头船只出行及配套货柜码放管理系统。

  3. jsp码头船只出行及配套货柜码放管理系统主要用于实现高校在线考试,基本功能包括:用户登录、修改个人信息、查看码头信息;系统管理人员管理;船只信息管理;船只路线信息管理;货柜信息管理等。本系统结构如下:
    (1)用户登录模块:
    该模块分为三中用户的登录:
    1、一般(查看)用户,权限只有修改个人信息和查看功能
    2、(操作)用户登录,可以修改自己的信息,还可以对系统内容进行增加、删除和修改
    3、系统管理员,可以修改自己的信息,并且不仅有查看、增删改的基本权限,还有对用户的管理和注册权限
    (2)用户管理模块:
    该模块实现对用户的增加,删除和修改
    (3)个人信息维护模块:
    该模块实现用户对自己的名字和密码等个人信息的修改
    (4)新闻公告管理模块:
    该模块实现新闻公告的增加,删除和修改
    (5)船只管理模块:
    该模块实现船只的增加,删除和修改
    (6)路线管理模块:
    该模块实现路线的增加,删除和修改,以及船只与路线关系的管理
    (7)货柜管理模块:
    该模块实现货柜的增加,删除和修改,以及船只与货柜关系的管理


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:13851个字
包含内容:整套源码+完整毕业论文+任务书+运行截图


3、关键词:

系统,Java,管理,web,货柜码放管理系统,MySQL ,Struts 2,Spring,My eclipse

4、毕设简介:

提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。

引言
1.1 课题研究的背景和意义
省略

随着计算机管理技术的高速发展,各个领域都应用计算机对相关信息进行管理。本系统是一个复杂而且涉及内容众多的系统,码头船只出行及配套货柜码放管理系统是码头管理系统中一个比较重要的部分。为了码头管理工作节省不必要的人力、物力和资源,迫切需要较好的码头船只出行及配套货柜码放管理系统软件来提高工作效率和信息的准确率,以降低经济成本。利用计算机、网络、计算机应用软件等现代科技和手段,加强和改进码头管理工作,可以降低管理工作的成本,减轻工作强度,提高工作效率。科技的发展就是要为生产服务,有了码头船只出行及配套货柜码放管理系统一定会为码头工作带来便捷。

1.2 国内外现状
1.2.1 国外主要现状
省略

这些创新包括无人驾驶吊车、自动门卫申报系统以及无纸化装卸单证系统[3] ,高效方便的管理码头的系统也势在必行。

1.2.2 国内主要现状
省略

码头的功能战略为运输方式的交换点、散货、杂货的集散中心,运输、金融、信息、工业与商业中心、现代物流的集散中心、全程运输中心的贸易后勤基地。组织特点为港口与用户关系密切,实现资金流、信息流与物流的同步发展。随着国际市场更加开放,海洋运输体系将提高到更加重要的位置[6]。

1.3 课题研究的目的及主要内容
1.3.1 课题研究的目的
为了方便港口码头的管理,船只的管理,提高工作人员的工作效率并且能更好更准确的为码头服务,开发一个完善的码头船只出行及配套货柜码放管理系统十分必要。

本课题的主要目的就是开发一个实用的完善的码头船只出行及配套货柜码放管理系统,以方便港口码头工作人员更好的去管理船只出行,并且能够更高效的分配货柜,提高港口运输业效率。

1.3.2 课题研究的主要内容
随着社会的进步和计算机的不断普及,各行各业的管理、控制都越来越离不开计算机的辅助。该课题就是要以港口码头发展为背景,研究码头船只出行及货柜分配的最佳管理方式。

本系统从用户来看分为三部分:管理员、一般(看)用户、一般(操作)用户;
(1)管理员有对船只、货柜等的操作功能(增删改等)以及对一般用户的管理功能;
(2)一般(看)用户有对各类信息的查看功能以及个人信息维护功能;
(3)一般(操作)用户对新闻公告、船只、货柜、路线等有增删改功能以及个人信息维护功能。

1.4 可行性分析
省略

1.4.1 技术可行性研究
省略

1.4.2 经济可行性研究
省略

1.4.3 操作可行性研究
本系统采用基于B/S结构实现系统,系统采用最友好的交互界面,简洁明了。开发工具使用了具有可视化界面的Myeclipse,它不需要配置JDK,并且有自带的Tomcat。数据库方面采用了MYSQL。这些开发工具的使用,使得开发方便快捷,具有操作可行性。

综合以上三方面,无论是从技术上或者经济上还是操作上该系统具有很高的开发可行性。

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 开发工具My Eclipse
MyEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。对于编程人员来说,MyEclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)会提供很大的便利。由于My Eclipse 中的每样东西都是插件,对于给 MyEclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 MyEclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 、 COBOL、PHP 等编程语言的插件已经可用。

2.3 My SQL数据库
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 系统功能需求

省略

该系统为基于web开发的码头船只出行及配套货柜码放管理系统,通过ssh框架实现的。拥有的功能有:用户登录、修改个人信息、查看码头信息;增加、删除、修改系统管理人员;增加、删除、修改船只信息;删除、增加、修改船只路线信息;增加、修改、删除货柜信息。因此,该系统应具有如下的功能,如图3.1.1。

a.用户登录:该模块分为三种用户的登录,一是一般(查看)用户,他的权限只有修改个人信息和查看功能;二是一般(操作)用户登录,他可以修改自己的信息,还可以对系统内容进行增加、删除和修改;三是具有最大权限的系统管理员,他可以修改自己的信息,并且不仅有查看、增删改的基本权限,还有对用户的管理和注册权限。

b.用户管理:该模块实现对用户的增加,删除和修改

c.个人信息维护:该模块实现用户对自己的名字和密码等个人信息的修改

d.新闻公告管理:该模块实现新闻公告的增加,删除和修改

e.船只管理:该模块实现船只的增加,删除和修改

f.路线管理:该模块实现路线的增加,删除和修改,以及船只与路线关系的管理

g.货柜管理:该模块实现货柜的增加,删除和修改,以及船只与货柜关系的管理

在这里插入图片描述

图3.1.1 系统功能图

3.2 系统性能需求
系统必须满足的一些使用过程中要做到的技术目标,通常包括速度,安全性等方面的需求。

3.3 系统运行需求
软件方面:系统使用Windows 7操作系统和Tomcat6.0以上版本,MyEclipse8.5 为开发和测试平台,前台以JSP为前端界面编辑环境,后台用MySQL5.5来管理数据库。运行时对JDK的版本要求为1.6。

硬件方面:PIII500 CPU 或更高配置,256M内存或更高,20G以上硬盘,更好有10M共享带宽或更高。

3.4 系统的用例分析
码头船只出行及配套货柜码放管理系统主要是面对三类用户,即一般(看)用户、一般(操作)用户、系统管理员,不同的角色有不同功能.。因此,在设计系统的时候,将系统的整体功能划分为三个子系统,为一般(看)用户子系统、一般(操作)用户子系统和系统管理员子系统。 这三个系统因为其面对的用户不同,其功能也不相同,具有相对独立性。但它们又是紧密联系和相互关联的,各用例设计如图3.4.1-图3.4.3所示。
在这里插入图片描述

图3.4.1 管理员用例图

在这里插入图片描述

图3.4.2 一般(看)用户用例图
在这里插入图片描述

图3.4.3 一般(操作)用户用例图
4 系统的设计与实现
4.1 总体设计
4.1.1 软件结构设计
系统的功能结构图,如图4.1.1.1所示。该系统从总体功能结构上分为四大块。第一块是用户管理,包括对用户的增加、删除和修改。第二块是船只管理,包括对船只信息的增加、删除和修改。第三块是货柜管理,包括对货柜信息的增加、删除和修改。第四块是对应关系管理,包括为船只分配路线的管理和为船只分配货柜的管理。
在这里插入图片描述

图4.1.1.1 系统功能模块图

4.1.2 数据库设计
数据库设计在软件开发的过程中起着极其重要的作用[13][14]。数据库设计是否合理对整个软件的开发是至关重要的。数据库的设计通常包括下述四个步骤:
(1)模式设计。模式设计的目的是确定物理数据结构。一般用第三范式,第三范式形式的实体及关系数据模型是模式设计过程的输入,模式设计的主要问题是处理具体的数据库管理系统的结构约束。
(2)子模式设计。子模式是用户使用的数据视图。
(3)完整性和安全性的设计。
(4)优化。主要目的是通过改进模式和子模式,来优化数据的存取。
对于该码头管理系统,我从分析的资料和设计的功能模块出发,设计出7张数据库表机构,分别是新闻信息表、用户信息表、船只信息表、货柜信息表、船只货柜对应关系信息表、路线信息表和船只路线对应关系信息表。具体内容如表4.1.2.1-4.1.2.7所示。
表4.1.2.1 新闻信息表

在这里插入图片描述

表4.1.2.2 用户信息表
在这里插入图片描述

表4.1.2.3 船只信息表
在这里插入图片描述

表4.1.2.4 货柜信息表
在这里插入图片描述

表4.1.2.5 船只货柜对应关系信息表
在这里插入图片描述

表4.1.2.6 路线信息表
在这里插入图片描述

表4.1.2.7 船只对应路线信息表

在这里插入图片描述

4.2 详细设计
省略

4.2.1 首页实现
首页主要分为Banner信息栏,导航栏,和版权信息栏。如图4.2.1.1所示。点击导航栏的任意某一内容,屏幕会列出想要查看的信息。如图4.2.1.2所示,点击出行船只,就会以分页显示的方式列出最新码头船只出行的情况。
在这里插入图片描述
图4.1.1.1 首页界面
在这里插入图片描述

图4.2.1.2 点击出行船只后显示界面

实现船只出行信息罗列的核心代码如下:

public String getAll() {
		HttpServletRequest request = ServletActionContext.getRequest();
		request.setAttribute("newsmodel",chuxingEbi.getAll(0, 6));
		request.setAttribute("newsnum",chuxingEbi.getAllCount());
		return "newsall";
	}
	public String getAllqt() {
		HttpServletRequest request = ServletActionContext.getRequest();
		request.setAttribute("newsmodel",chuxingEbi.getAll());
		request.setAttribute("newsnum",chuxingEbi.getAllCount());
		return "qtall";
}

4.2.2 用户登录的实现
登录界面分为管理员登录与一般用户(操作、看)登录。登录页面设计相对比较简单,界面清晰,背景配以黑灰渐变色,首页运行效果,如图4.2.2.1。
用户的登录分为三种情况,第一种是管理员登录,如图4.2.2.2是管理员登录后的界面。管理员可以进行用户管理,个人信息维护,新闻公告管理,船只管理,货柜管理,当然还可以查看新闻信息。

第二种是一般(操作)用户,如图4.2.2.3显示的是一般用户登录后的界面,与管理员操作大体相同,只是功能相对较少些。一般用户登录代码与管理员代码大致相似,只是功能少一些。

第三种是一般(看)用户,该图4.2.2.4是一般用户(看)登录后的界面,只有查看权限,包括新闻,船只,货柜及其路线的查看。该用户的登录实现代码亦同上。
在这里插入图片描述

图4.2.2.1 首页登录界面

在这里插入图片描述

图4.2.2.2 管理员登录界面

在这里插入图片描述

图4.2.2.3 一般用户(操作)登录界面
在这里插入图片描述

图4.2.2.4 一般用户(看)登录界面

用户登录后主要是对各模块进行权限内的合法操作,其实现登录的核心代码如下:

		public String login()
{
		HttpServletRequest request = ServletActionContext.getRequest();
		HttpSession session = request.getSession(); 
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		//System.out.println(username+";"+password);
		UserQueryModel qm = new UserQueryModel();
		qm.setUsername(username);
		qm.setPassword(password);
		int num = userEbi.getByConditionCount(qm);
		//System.out.println("数量:+"+num);
		if(num>0){
			int sta = userEbi.getByCondition(qm, 0, 100).get(0).getState();
			switch (sta) {
			case 0:
				session.setAttribute("useradmin", username); 
				return "admin";
			case 1:
				session.setAttribute("useradmin", username); 
				return "admin1";
			case 2:
				session.setAttribute("useradmin", username); 
				return "admin2";
			default:
				request.setAttribute("error", "用户名或密码不对");
				return "loginf";
			}	
		}else{
			request.setAttribute("error", "用户名或密码不对");
			return "loginf";
		}
	}

4.2.3 用户管理的实现
只有管理员才有用户管理的权限,该功能模块可以实现管理员对用户密码以及权限的初始设置和修改。用户的权限有看和操作两种。管理员还可以通过点击删除按钮来实现对用户的删除。如图4.2.3.1所示。

图4.2.3.1 用户管理界面
在这里插入图片描述

图4.2.3.1显示的是管理员的用户管理界面,其核心代码如下:
//根据Id得到用户信息去修改

	public String getUserById(){
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		UserQueryModel qm = new UserQueryModel();
		qm.setId(id);
		request.setAttribute("userupdate", userEbi.getByCondition(qm, 0, 20));
		return "byid";
	}
	//删除
	public String deletedById() {
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		userEbi.delete(id);
		return "delete";
	}
//修改
public String update() {
		userEbi.update(userModel);
		return "update";
	}
	public String create() {
		HttpServletRequest request = ServletActionContext.getRequest();
		userEbi.create(userModel);
		return SUCCESS;
	}

4.2.4 个人信息维护的实现
个人信息的维护功能模块的实现,方便了用户对自己的个人信息的修改,比如名字和密码。用户登录该系统之后,通过个人信息维护模块,重新输入自己的名字和密码来修改个人信息。其界面如图4.2.4.1所示。
在这里插入图片描述

图4.2.4.1 个人信息维护界面
实现个人信息维护的核心代码如下:

public String getxiugai(){
	HttpServletRequest request = ServletActionContext.getRequest();
	int id = Integer.parseInt(request.getParameter("id"));
	UserQueryModel qm = new UserQueryModel();
	qm.setId(id);
	request.setAttribute("userupdate", userEbi.getByCondition(qm, 0, 20));
	return "byid";
}

4.2.5 船只管理的实现
该功能模块实现了可操作人员对船只的增加、删除和修改功能。用户通过添加船只编号、名称、体积和详细信息来增加船只,实现船只的增加功能。如图4.2.5.1。通过船只管理模块,点击想要修改或者删除的船只信息后方的修改或者删除按钮,实现对船只的修改和删除功能。如图4.2.5.2所示。
在这里插入图片描述

图4.2.5.1 船只增加界面

在这里插入图片描述

图4.2.5.2 船只管理界面

上图4.2.5.1和4.2.5.2显示的是船只的增加和管理界面,其核心代码:

public String create() {
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//设置日期格式
String ttime = df.format(new Date());// new Date()为获取当前系统时间
chuanzhiModel.setTtime(ttime);
chuanzhiEbi.create(chuanzhiModel);
return SUCCESS;
}
//根据Id得到船只信息去修改
public String getUserById(){
HttpServletRequest request = ServletActionContext.getRequest();
int id = Integer.parseInt(request.getParameter(“id”));
ChuanzhiQueryModel qm = new ChuanzhiQueryModel();
qm.setId(id);
request.setAttribute(“newsupdate”, chuanzhiEbi.getByCondition(qm, 0, 20));
return “byid”;
}
//删除
public String deletedById() {
HttpServletRequest request = ServletActionContext.getRequest();
int id = Integer.parseInt(request.getParameter(“id”));
chuanzhiEbi.delete(id);
return “delete”;
}

4.2.6 货柜管理的实现
码头船只的配套货柜码放管理功能模块,实现了对货柜的增加、删除和修改。用户通过对货柜编号、名称、体积和详细信息的输入,来完成货柜的增加功能。如图4.2.6.1。在货柜管理中,通过货柜的删除按钮和修改按钮实现目标货柜的删除和修改。如图4.2.6.2所示。
在这里插入图片描述

图4.2.6.1 货柜增加界面

在这里插入图片描述

图4.2.6.2 货柜管理界面

图4.2.6.1和图4.2.6.2显示的是货柜增加和管理功能,其核心代码如下:

public String create() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		huoguiModel.setTtime(ttime);
		huoguiEbi.create(huoguiModel);
		return SUCCESS;
	}
	//根据Id得到货柜信息去修改
	public String getUserById(){
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		HuoguiQueryModel qm = new HuoguiQueryModel();
		qm.setId(id);
		request.setAttribute("newsupdate", huoguiEbi.getByCondition(qm, 0, 20));
		return "byid";
	}
	//删除
	public String deletedById() {
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		huoguiEbi.delete(id);
		return "delete";
	}
	public String update() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		huoguiModel.setTtime(ttime);
		huoguiEbi.update(huoguiModel);
		return "update";
	}
}

4.2.7 路线管理的实现
路线管理功能模块实现了可操作人员对线路的增加、删除和修改。使得路线的管理方便快捷。用户可以通过对路线编号、名称、具体路线以及详细信息的添加来实现增加路线功能。如图4.2.7.1。用户通过点击出行路线管理界面上的修改和删除按钮来修改和删除目标路线,如图4.2.7.2所示。

在这里插入图片描述

图4.2.7.1 出行路线增加界面
在这里插入图片描述

图4.2.7.2 出行路线管理界面

核心代码为:

public String create() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		luxianModel.setTtime(ttime);
		luxianEbi.create(luxianModel);
		return SUCCESS;
	}
	//根据Id得到信息去修改
	public String getUserById(){
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		LuxianQueryModel qm = new LuxianQueryModel();
		qm.setId(id);
		request.setAttribute("newsupdate", luxianEbi.getByCondition(qm, 0, 20));
		return "byid";
	}
	//删除
	public String deletedById() {
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		luxianEbi.delete(id);
		return "delete";
	}
		public String update() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		luxianModel.setTtime(ttime);
		luxianEbi.update(luxianModel);
		return "update";
	}
}

4.2.8 船只分配路线的实现
该模块实现了用户对船只出行路线的设置。用户通过船只的选择和路线的选择、以及说明信息的填写,实现为船只分配路线的功能,如图4.2.8.1所示。还可以通过对删除和修改按钮的点击,来删除或者修改分配好的船只路线组合,如图4.2.8.2所示。

在这里插入图片描述

图4.2.8.1 船只分配出行路线界面
在这里插入图片描述

图4.2.8.2 船只出行路线管理界面

其核心代码如下:

	public String create() {
		//System.out.println("????????????????????");
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		chuxingModel.setTtime(ttime);
		//System.out.println(chuxingModel.toString());
		chuxingEbi.create(chuxingModel);
		return SUCCESS;
	}
	//根据Id得到信息去修改
	public String getUserById(){
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		ChuxingQueryModel qm = new ChuxingQueryModel();
		qm.setId(id);
		request.setAttribute("newsupdate", chuxingEbi.getByCondition(qm, 0, 20));
		return "byid";
	}
	//删除
	public String deletedById() {
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		chuxingEbi.delete(id);
		return SUCCESS;
	}

	public String update() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		chuxingModel.setTtime(ttime);
		chuxingEbi.update(chuxingModel);
		return "update";
	}
	//去获取船只,线路的信息
	public String getCL(){
		HttpServletRequest request = ServletActionContext.getRequest();
		List<ChuanzhiModel> czlist = chuanzhiEbi.getAll();
		List<LuxianModel> lxlist = luxianEbi.getAll();
		System.out.println(czlist+"//"+lxlist);
		request.setAttribute("czmodel",czlist);
		request.setAttribute("lxmodel",lxlist);
		return "addcl";
	}
}

4.2.9 船只分配货柜的实现
船只分配货柜这一功能模块主要是为每一艘轮船进行货柜的分配,还有对已分配货柜的船只进行信息的修改和删除。用户可以通过船只的选择、货柜的选择和说明信息(该轮船可以放置多少个货柜等等信息)的填写来实现分配货柜功能,如图4.2.9.1所示。用户还可以通过点击删除和修改按钮来实现对已分配货柜船只组合的删除和修改,如图4.2.9.2所示。
在这里插入图片描述

图4.2.9.1 船只分配货柜界面
在这里插入图片描述

图4.2.9.2船只对应配套货柜管理界面

该功能模块实现了用户对船只进行货柜码放的管理。其核心代码如下:

public String create() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		peitaohgModel.setTtime(ttime);
		peitaohgEbi.create(peitaohgModel);
		return SUCCESS;
	}
	//根据Id得到用户信息去修改
	public String getUserById(){
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		PeitaohgQueryModel qm = new PeitaohgQueryModel();
		qm.setId(id);
		request.setAttribute("newsupdate", peitaohgEbi.getByCondition(qm, 0, 20));
		return "byid";
	}
	//删除
	public String deletedById() {
		HttpServletRequest request = ServletActionContext.getRequest();
		int id = Integer.parseInt(request.getParameter("id"));
		peitaohgEbi.delete(id);
		return SUCCESS;
	}
	
	public String update() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String ttime = df.format(new Date());// new Date()为获取当前系统时间
		peitaohgModel.setTtime(ttime);
		peitaohgEbi.update(peitaohgModel);
		return "update";
	}
	public String getczhg(){
		HttpServletRequest request = ServletActionContext.getRequest();
		
		List<HuoguiModel> hglist = huoguiEbi.getAll();
		List<ChuanzhiModel> czlist = chuanzhiEbi.getAll();
		request.setAttribute("hgmodel",hglist);
		request.setAttribute("czmodel",czlist);
		return "addczhg";
	}
}

5 系统测试
一个完善的系统,是要经得起“考验”的,所谓的“考验”就是在系统真正上线之前进行各种测试,主要大的方面是白盒和黑盒测试[16],包括上线之后用户的使用的测试,比如用户体验度的反馈,系统压力的测试反馈等。在这里主要进行的是上线之前的测试工作。
测试一:用户登录时,用户名或密码有一项为空或者填写错误,系统是否出现预先设定的操作提示。
具体操作:用户名、密码、任意一项为空或者填写有误。
结果:都出现相应的错误原因的信息提示。
结论:要求用户必须填写正确的用户名和密码,才能进入管理系统。
测试二:管理员对用户的管理方面,即对用户进行增加,修改,删除时看用户管理界面是否产生相应变化。
具体操作:对用户进行增删改查。
结果:都相应出现正确的改变。
结论:管理员可以直接在用户管理界面修改用户信息。
测试三:用户对船只信息的管理,即用户对船只信息的增加,删除和修改,是否可以实现。
具体操作:用户修改船只信息,通过船只管理界面查看船只信息是否已按相应要求修改。
结果:都出现相应的变化,用户修改船只信息,在船只管理以及其他相关页面都可以看到。
结论:用户可以在船只增加和船只管理界面进行船只信息的修改。
测试四:用户登录时,是否区分一般看用户和一般操作用户。
具体操作:以管理员身份登陆系统,进行两种用户的设置,然后以设置好的不同用户身份登陆,查看其各自拥有的权限。
结果:一般看用户只有查看权限。一般操作用户则既有查看权限,还有增删改权限。
结论:要求管理员必须正确设置用户的权限。
测试五:修改系统的新闻公告﹑返回前台,看其是否更新成功。
具体操作:通过新闻公告管理页面中的修改功能修改新闻公告的内容,看其是否修改成功。
结果:新闻公告内容更新为修改后的信息。
结论:修改新闻公告功能正常。
测试六:管理员删除某一原有用户后,并让其登陆,看是否登陆成功。
具体操作:管理员删除用户表中的某一用户后,该用户在前台登陆。
结果:该用户无法登录。
结论:用户数据删除功能正常。

结 论
省略

参考文献
[1] Li Wei. Problem studies of international container port competition in Shanghai.Master scientific dissertation ,2006.
[2] 屠德铭.港口行业发展现状及前景[A].中国港口协会[C].上海:200000;
[3] 鲁懿春.新加坡港在港口操作中的创新[J].集装箱化,2004,12:20.
[4] 中国港口现状[J].中国电子杂志出版社.2010,4,5.
[5]史博臻,任荃.海洋时代,上海的“远”与“近”[N].文汇报,2010-12—1l(2).
[6] 张明齐,张永峰,刘万峰.中国世界级_强港_建设分析与探讨[J].中国港湾建设,2011,3:77.
[7] 韩万江,姜立新.软件项目管理案例教程.机械工业出版社,2007,12
[8] Ken Arnold,James Gosling.Java程序设计语言.人民邮电出版社,2006,11
[9] (美)艾克尔.布鲁斯.JAVA编程思想[M].出版地:机械工业出版社,2007.6.
[10] 王珊,萨师煊.数据库系统概论(第四版).高等教育出版社,2007,7
[11] Mary Hall,Larry Brown.Servlet和JSP核心编程.清华大学出版社,2007,1
[12] 张海藩. 软件工程导论. 北京:清华大学出版社,2008.2
[13] 李红. 数据库原理及应用[M]. 高等教育出版社,2003.3
[14] 刘世峰.数据库基础与应用.中央广播电视大学出版社,2004.
[15] 樊海玮,吕进,杜瑾等. 软件详细设计教程[M]. 西安电子科技大学出版社,2010.12
[16] 朱少民. 软件测试方法和技术[M]. 清华大学出版社,2010.7

致谢
省略


5、源码下载:

本项目源码及论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击文章最下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于javaEE+SSH+mysql的码头船只出行及配套货柜码放管理系统设计与实现(源码+文档)_JAVAEE_SSH.zip

6、更多JAVA毕业设计项目

精选JAVA毕业设计206套——源码+论文完整资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值