eclipse+maven+web服務,實現對hdfs的目錄瀏覽展示
阿新 • • 發佈:2021-07-13
eclipse+maven+web服務,實現對hdfs的目錄瀏覽展示
1、將建立好的web專案轉為maven專案,以便下載jar包(不要直接建立Maven的web專案,會缺少檔案)
滑鼠右鍵選中專案——>Configure——>Convert to Maven Project
2、在pom.xml中檢視JDK版本,如果不是你想要的版本,可進行更新修改
<build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.1</version> <configuration> <warSourceDirectory>WebContent</warSourceDirectory> </configuration> </plugin> </plugins> </build>
隨後選中專案,右鍵——>Maven——>Update Project更新預設JDK(此時JDK以及變成你指定的版本)
3、在pom.xml新增依賴下載jar包
<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.9.2</version> </dependency> </dependencies>
4、建立WebTest.java,編寫java類檔案,用於存取資料
public class WebTest { List<String> names = new ArrayList<String>();//存放獲取的目錄連結 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<String> 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" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>成功了歐耶</title>
</head>
<body>
<h1>測試一下成功莫得</h1>
<!-- 建立一個物件,呼叫物件獲取目錄下的所有檔名 -->
<%
WebTest webtest = new WebTest();
webtest.setListFileAndFloder();
List<String> listFlie = webtest.getListFileAndFloder();
%>
<!-- 用表格將所有的檔名稱顯示出來 -->
<table border="3">
<%for(int i=listFlie.size()-1;i>=0;i--){ %>
<tr>
<td>
<%= listFlie.get(i).toString() %>
</td>
</tr>
<% } %>
</table>
</body>
</html>
7、啟動hadoop叢集
8、執行eclipse中的Tomact,然後執行jsp檔案,即可成功