eclipse+maven+web服务,实现对hdfs的目录浏览展示
eclipse+maven+web服务,实现对hdfs的目录浏览展示
1、将创建好的web项目转为maven项目,以便下载jar包(不要直接创建Maven的web项目,会缺少文件)
鼠标右键选中项目——>Configure——>Convert to Maven Project
2、在pom.xml中查看JDK版本,如果不是你想要的版本,可进行更新修改
src
maven-compiler-plugin
3.8.0
1.8
maven-war-plugin
3.2.1
WebContent
随后选中项目,右键——>Maven——>Update Project更新默认JDK(此时JDK以及变成你指定的版本)
3、在pom.xml添加依赖下载jar包
org.apache.hadoop
hadoop-client
2.9.2
org.apache.hadoop
hadoop-common
2.9.2
org.apache.hadoop
hadoop-hdfs
2.9.2
4、创建WebTest.java,编写java类文件,用于存取数据
public class WebTest {
List names = new ArrayList();//存放获取的目录链接
String dir = "hdfs://192.168.80.128:9000/";//地址
public void setListFileAndFloder(){
try {
Configuration conf = new Configuration();//加载配置文件
FileSystem fs = FileSystem.get(URI.create(dir),conf);//获取文件系统实例
FileStatus[] status = fs.listStatus(new Path("/"));//待获取目录
for (int i = 0; i < status.length; ++i) {
if (status[i].isFile()) {//文件
names.add(status[i].getPath().getName());//获得目录下文件夹的名称
System.out.println(status[i].getPath().toString());
}else if (status[i].isDirectory()) {//文件夹
names.add(status[i].getPath().getName());//获得目录下文件的名称
System.out.println(status[i].getPath().toString());
}
}
fs.close();
} catch (Exception e) {
// TODO: handle exception
System.out.println("失败");
}
}
public List getListFileAndFloder(){//获取目录列表
return names;
}
}
5、创建test.jsp文件,修改编码格式为UTF-8,防止出现乱码;引入刚才创建的WebTest.java文件;引入List依赖包
<%@ page language="java" contentType="text/html; UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="hadoop_web.WebTest" %>
<%@ page import="java.util.List" %>
6、编写表格代码,用于显示(下为整个jsp文件代码)
<%@ page language="java" contentType="text/html; UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="hadoop_web.WebTest" %>
<%@ page import="java.util.List" %>
成功了欧耶
测试一下成功莫得
<%
WebTest webtest = new WebTest();
webtest.setListFileAndFloder();
List listFlie = webtest.getListFileAndFloder();
%>
<%for(int i=listFlie.size()-1;i>=0;i--){ %>
<%= listFlie.get(i).toString() %>
<% } %>
7、启动hadoop集群
8、运行eclipse中的Tomact,然后运行jsp文件,即可成功
原文:https://www.cnblogs.com/junfblog/p/15005091.html