基于Struts2框架的FTP访问服务的Web平台设计

时间:2022-05-20 10:35:54

基于Struts2框架的FTP访问服务的Web平台设计

摘要:应用Struts2框架来搭建FTP访问服务的Web平台,实现对FTP文件的遍历和查看。

关键词:FTP; Struts2; Web

Abstract: the application Struts2 framework to build FTP access to services Web platform, and to realize the FTP file to traverse and check.

Keywords: FTP; Struts2; Web

中图分类号: TU323.5 文献标识码:A文章编号:

前言

文件传输协议(File Transfer Protocol,简称FTP)是TCP/IP网络上计算机之间相互传送文件的协议[1],具有资源共享,管理方便等优点。在传统的C/S结构中,用户需要借助客户端软件(如FileZilla、CuteFTP等)来访问FTP服务器。随着信息技术的发展,系统和应用都在不断推陈出新,这些软件的稳定性和兼容性将面临考验。

本文设计的平台充分利用Java程序跨平台性的特点,并采取基于MVC的Web应用开发框架Struts2, 在B/S结构的基础上应用了文件传输协议, 使用户在访问FTP时更方便和有效。

一、框架简介

Struts 是Apache软件基金会赞助的一个开源项目[2]。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC设计模式的应用框架。

MVC将软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。Struts 框架清楚地展现MVC模型的特性[3]:

1) Controller:当用户在客户端发出请求以后,ActionServlet将负责分配该请求,通过查询配置文件struts.xml中的ActionMapping映射,找到用来处理请求的Actition类;

2) Model:表单内容被提交到ActionForm,由相应的Actition类来处理数据,通过带有封装的方法和属性的Bean来执行业务逻辑,然后Actition将处理结果返回给ActionServlet;[4]

3) View:根据Action返回的字符串将结果返回到JSP交互页面。

设计思路

1 建立工程

在Java的web项目中添加与Struts2相关的Jar包,以及访问FTP所需的类库(commons-net.jar)。

2 设计交互页面

页面名称 功能描述

LoginFTP.jsp FTP登录页面

FileList.jsp 资源列表页面

ReadFile.jsp 文本显示页面

3 编写控制层

类名 功能描述

ReadFileAction.java 控制文本读取

LoginAction.java 控制用户登录

4 实现业务逻辑

类名 功能描述

MyFtpClient.java 实现对FTP的访问

TextReader.java 读取文本文件

SpecialStr.java 字符编码处理

其中,MyFtpClient类的算法抽象如下:

public class MyFTPClient {

/**登录方法*/

public void login(String hostName, String userName, String password) {

// 连接到主机名为hostName的ftp服务器

// 输入用户名userName和密码password进行验证

}

/**遍历方法*/

public List getFileList(String remoteDir) {

// 遍历当前目录remoteDir下的文件和文件夹

foreach (FILE file : files) {

// 将每个文件夹和文件的记录在List类型的fileList

}

// 返回fileList供Action和JSP使用

}

/**关闭方法*/

public void close(){

// 使用IO包关闭流断开FTP连接

}

}

二、系统实现

1 开发环境

在 Windows 环境下运行,开发工具为Eclipse Helios Service Release 2和Tomcat 6,JDK版本为J2se 6.0。

2功能实现

1.使用已有FTP账户验证登录;

2.显示文件列表,选取和查看目录;

3.选择文本文件进行查看,结果如图1-1所示:

图1-1显示结果

三、结论

利用Java技术建立的FTP服务的访问具有跨平台性,采用的FTP访问组件避免了功能组件的繁琐编码,使得开发人员能将更多的精力投入到业务逻辑的实现和数据模型的建立。在接下来的工作中,Struts2架构还可以与Spring、Hibernate等组件相结合,将满足更多需求,具有较好的可扩展性。

参考文献

[1] 李南方, 文件传输协议——FTP简介, 《武钢大学学报》, 1999年03期

[2] struts.省略/

[3] 官全龙, 姚国祥, 基于Struts的应用架构的研究, 《计算机工程与设计》, 2005年12期

[4] 余军阳, 基于Struts框架的设备管理系统的设计与实现, 《杭州师范大学学报(自然科学版)》, 2010年04期

注:文章内所有公式及图表请用PDF形式查看。

上一篇:中国建筑业发展和谐分析 下一篇:农村供水工程规划