HDFS Java API编程——云盘系统
实现内容
云盘系统通过互联网为企业和个人提供信息的储存、读取、下载等服务,具有安全稳定、海量存储的特点。根据用户群定位,云盘系统可以划分为公有云盘、社区云盘、私有云盘等。
利用HDFS Java API,编写一个云盘系统,实现功能如下:
实现框架
采用SpringBoot实现,前端界面使用thymeleaf模板。
结构:
----config(配置类)
--------LoginHandlerInterceptor
--------MvcConfig
----controller(控制层)
--------CloudController
--------LoginController
----dao(实体类)
--------FileSystemDao
----hdfs(启动类)
--------HdsfApplication
----service(服务层)
--------HdfsService
--------LoginService
需要的依赖
<dependencies>
<!-- springboot,web启动-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- lombok(可以不用,用的话要加插件)-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- springboot,test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- hdfs需要的依赖-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
注册功能(LoginService)
/**
* 注册
* @param username 用户名
* @param password 密码
* @param Path 存储路径
* @return true:注册成功;false:注册失败
* @throws IOException
*/
public Boolean register(String username,String password, String Path) throws IOException {
ObjectMapper mapper = new ObjectMapper();//用于解析JSON格式的文件
File file = new File(Path);
HashMap<String,String> order;
try {
order = mapper.readValue(file,HashMap.class);//把Json转换成map
}catch (Exception e) {
order = new HashMap<>();
}
//用户名存在,注册失败
if(order.containsKey(username)) {
return