0


大数据接私活200元,做个简易的HDFS浏览器(一)

大数据接私活200元,做个简易的HDFS浏览器(一)

需求

接到一个单子说是用制作一个简单的HDFS浏览器。

功能包括:基于HDFS的文件浏览、上传和下载。
请添加图片描述

需求分析

​ 用到的技术包括Java、HDFSAPI、tomcat的配置等

代码实现

项目架构:

请添加图片描述

Controller层代码:

@Controller@RequestMapping("/hdfs")publicclass hdfsController {private hdfsService hdfsService;public hdfsService getHdfsService(){return hdfsService;}@ResourcepublicvoidsetHdfsService(hdfsService hdfsService){this.hdfsService = hdfsService;}@RequestMapping("/delete")publicStringtoDelete(@RequestParam(value="path",required=false)String path)throwsIOException{  
        hdfsService.delete(path);return"success";}@RequestMapping(value="/ls",method=RequestMethod.GET)publicModelAndViewhome(@RequestParam(value="path",required=false)String path,HttpServletRequest request,HttpServletResponse response)throwsException{ModelAndView model =newModelAndView();if(StringUtils.isEmpty(path)){
               path ="/";}List<hdfsBean> hdfsFiles =hdfsService.ls(path);
           model.addObject("file", hdfsFiles);
           model.setViewName("/ls");return model;}@RequestMapping("/download")publicStringtoDownload(@RequestParam(value="path",required=false)String path)throwsIOException{  
          hdfsService.download(path);return"success";}@RequestMapping(value="/upload")publicStringupLoad(HttpServletRequest request,HttpServletResponse response)throwsIllegalStateException,IOException{//解析器解析request的上下文CommonsMultipartResolver multipartResolver =newCommonsMultipartResolver(request.getSession().getServletContext());//先判断request中是否包涵multipart类型的数据,if(multipartResolver.isMultipart(request)){//再将request中的数据转化成multipart类型的数据MultipartHttpServletRequest multiRequest =(MultipartHttpServletRequest) request;Iterator<String> iter = multiRequest.getFileNames();while(iter.hasNext()){MultipartFile file = multiRequest.getFile(iter.next());if(file !=null){StringFileName= file.getOriginalFilename();System.out.println(FileName);CommonsMultipartFile cf=(CommonsMultipartFile)file;DiskFileItem fi =(DiskFileItem)cf.getFileItem();File inputFile = fi.getStoreLocation();
                       hdfsService.createFile(inputFile,"hdfs://192.168.88.100:8020/upload/"+FileName);}}}return"success";}

前端部分页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page isELIgnored="false" %> 
<%String ref = request.getHeader("REFERER");%>  
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>HDFS文件管理器</title></head><body><table><tr><td>文件名</td><td>文件大小  </td><td>拥有者 </td><td>权限  </td><td>时间  </td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;操作</td></tr><c:forEachvar="file"items="${file}"><tr><td><ahref="${pageContext.request.contextPath}/hdfs/ls.do?path=${file.fileName}"style="color:#666666;text-decoration:none;">
               ${file.fileName}</a></td><td> ${file.fileSize}</td><td> ${file.owner}</td><td> ${file.permission}</td><td> ${file.modificationTime}</td><td><ahref="${pageContext.request.contextPath}/hdfs/delete.do?path=${file.fileName}"style="color:#666666;text-decoration:none;"class="button border-dot button-little"onclick="returnconfirm('确认删除?')">
                            删除  </a>&nbsp;&nbsp;<ahref="${pageContext.request.contextPath}/hdfs/download.do?path=${file.fileName}"style="color:#666666;text-decoration:none;">
          下载</a></td></tr></c:forEach><inputtype="button"value="返回"onclick="javascript:window.location='<%=ref%>'"></table></body></html>

效果演示

HDFS简易Web浏览器

HDFS简易Web浏览器_哔哩哔哩_bilibili

总结

比较轻松的需求,主要是之前做过类似的小项目直接拿来用即可。

如果想要接Java和大数据方面私活的,有赚零花钱想法的,可以点下方的小卡片与我联系或者在CSDN私信我。

我和我的团队能够提供什么?
1.优质的接单群,一单最低50。
2.持续终身的售后服务,有任何接单不懂的地方可以问我,提供1v1售后,接单有保障。
3.针对不怎么懂技术的小白,提供价值大几千的代码生成器,即使是小白也能轻松接私活。
请添加图片描述

标签: 大数据 hdfs java

本文转载自: https://blog.csdn.net/xianyu120/article/details/125508845
版权归原作者 Maynor学长 所有, 如有侵权,请联系我们删除。

“大数据接私活200元,做个简易的HDFS浏览器(一)”的评论:

还没有评论