about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 51422|回复: 25

hadoop网盘小项目介绍及相关代码下载3

[复制链接]
发表于 2014-12-3 21:38:36 | 显示全部楼层 |阅读模式
本帖最后由 desehawk 于 2014-12-3 22:04 编辑

导读:

本文为登陆模块,相信会Java的同学,应该不难







一、login.jsp登陆界面实现解压bootmetro-master.zip,然后将ootmetro-mastersrc下的assets文件夹拷贝到工程里。
bootmetro下载地址:https://github.com/aozora/bootmetro,使用说明:http://www.guoxiaoming.com/bootmetro/

1.png


创建head.jsp文件,用于将一些药固定引用的css、js文件放到这里,作为公共调用文件。
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>

  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>

  6. <link rel="stylesheet" type="text/css" href="assets/css/bootmetro.css">
  7.    <link rel="stylesheet" type="text/css" href="assets/css/bootmetro-responsive.css">
  8.    <link rel="stylesheet" type="text/css" href="assets/css/bootmetro-icons.css">
  9.    <link rel="stylesheet" type="text/css" href="assets/css/bootmetro-ui-light.css">
  10.    <link rel="stylesheet" type="text/css" href="assets/css/datepicker.css">

  11.    <!--  these two css are to use only for documentation -->
  12.    <link rel="stylesheet" type="text/css" href="assets/css/site.css">

  13.    <!-- Le fav and touch icons -->
  14.    <link rel="shortcut icon" href="assets/ico/favicon.ico">
  15.    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
  16.    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
  17.    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
  18.    <link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
  19.   
  20.    <!-- All JavaScript at the bottom, except for Modernizr and Respond.
  21.       Modernizr enables HTML5 elements & feature detects; Respond is a polyfill for min/max-width CSS3 Media Queries
  22.       For optimal performance, use a custom Modernizr build: www.modernizr.com/download/ -->
  23.    <script src="assets/js/modernizr-2.6.2.min.js"></script>

  24. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



  25. <title>Insert title here</title>
  26. </head>

  27. </html>
复制代码




创建login.jsp文件:
  1. <%@ include file="head.jsp"%>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3.     pageEncoding="UTF-8"%>
  4.    
  5.    
  6. <body style="text-align:center;margin-bottom:100px;">
  7.                  <div class="navbar" >
  8.              <div class="navbar-inner">
  9.                <a class="brand" href="#" style="margin-left:200px;">网盘</a>
  10.            
  11.              </div>
  12.            </div>
  13.               <div  style="text-align:left;margin:0px auto;margin-top:50px; width:1200px;height:500px;">
  14.                       <div style="float:left;width:800px; height:100%;background:#009900"></div>
  15.                          <div style="float:left;width:400px; height:100%; background:#00CC33">
  16.                          <fieldset>
  17.                                  <form  action="LoginServlet" method="post" class="form-horizontal" style="margin-top:150px;margin-left:100px;">
  18.                         
  19.                                      用户  <input type="text" id="inputEmail" name="username" >
  20.                                          <br><br>
  21.                                     密码  <input type="pass<a href="http://www.it165.net/edu/ebg/" target="_blank" class="keylink">word</a>" id="inputPass<a href="http://www.it165.net/edu/ebg/" target="_blank" class="keylink">word</a>"  name="password">
  22.                                          <br><br>
  23.                            <button type="submit" class="btn">登陆</button>   
  24.                             <button type="submit" class="btn">注册</button>
  25.                               
  26.                            </form>
  27.                            </fieldset>
  28.                          </div>
  29.       
  30.               </div>
  31.                
  32. </body>
复制代码



启动tomcat服务器测试效果,想要更多绚丽的小姑,大家可以自己去实现。(这里还无法实现登陆)
2.png
二、连接数据库
(1)将mysql-connector-java-commercial-5.1.25.jar复制到/WEB-INF/lib目录下。
3.png
(2)创建user表和添加数据
打开navicat for mysql 软件,连接hadoop数据库并创建user表,然后向表里添加3个数据。
4.png
三、创建操作数据库的model文件
(1)ConnDB.java
  1. package com.model;

  2. import java.sql.Connection;
  3. import java.sql.DriverManager;

  4. public class ConnDB {
  5.         private Connection ct = null;
  6.         public Connection getConn(){
  7.                
  8.         try {
  9.         //加载驱动
  10.         Class.forName("com.mysql.jdbc.Driver");
  11.                         
  12.         //得到连接
  13.         ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/hadoop?user=root&password=");
  14.         } catch (Exception e) {
  15.         // TODO Auto-generated catch block
  16.         e.printStackTrace();
  17.         }
  18.                
  19.                
  20.         return ct;
  21.         }
  22. }
复制代码


(2)UserBean.java
  1. package com.model;

  2. public class UserBean {
  3.         String id;
  4.         String username;
  5.         String email;
  6.         String password;
  7.         public String getId() {
  8.                 return id;
  9.         }
  10.         public void setId(String id) {
  11.                 this.id = id;
  12.         }
  13.         public String getUsername() {
  14.                 return username;
  15.         }
  16.         public void setUsername(String username) {
  17.                 this.username = username;
  18.         }
  19.         public String getEmail() {
  20.                 return email;
  21.         }
  22.         public void setEmail(String email) {
  23.                 this.email = email;
  24.         }
  25.         public String getPassword() {
  26.                 return password;
  27.         }
  28.         public void setPassword(String password) {
  29.                 this.password = password;
  30.         }

  31. }
复制代码



(3)UserBeanCl.java
  1. package com.model;

  2. import java.sql.Connection;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;


  6. public class UserBeanCl {
  7.         private Statement sm = null;
  8.         private Connection ct = null;
  9.         private ResultSet rs = null;
  10.         
  11.         
  12.         public void close(){
  13.                 try {
  14.                         
  15.                         
  16.                 if(sm != null){        
  17.                         sm.close();
  18.                         sm = null;
  19.                 }
  20.                
  21.                 if(ct != null){
  22.                         ct.close();
  23.                         ct = null;
  24.                 }
  25.                
  26.                
  27.                 if(rs != null){
  28.                         rs.close();
  29.                         rs = null;
  30.                 }
  31.                
  32.                
  33.                 }
  34.                 catch (SQLException e) {
  35.                         // TODO Auto-generated catch block
  36.                         e.printStackTrace();
  37.                 }
  38.         }
  39.         
  40.         
  41.         
  42.         //检查登录用户是否合法
  43.                 public boolean checkUser(String user, String password){
  44.                         boolean b = false;               
  45.                         try {
  46.                                 
  47.                                 //获得连接
  48.                                 ct = new ConnDB().getConn();
  49.                                 //创建statement
  50.                                 sm = ct.createStatement();
  51.                                 
  52.                                 rs = sm.executeQuery("select * from user where username=""+user+""");
  53.                                 
  54.                                 
  55.                                 if(rs.next()){
  56.                                         //说明用户存在
  57.                                         String pwd = rs.getString(3);
  58.                                         if(password.equals(pwd)){
  59.                                                 //说明密码正确
  60.                                                 b = true;
  61.                                         }else{
  62.                                                 b = false;
  63.                                         }
  64.                                        
  65.                                 }else{
  66.                                         b = false;
  67.                                 }        
  68.                         } catch (SQLException e) {
  69.                                 e.printStackTrace();
  70.                         }finally{
  71.                                 this.close();
  72.                         }
  73.                         
  74.                         return b;
  75.                 }


  76.                
  77. }
复制代码



(4)创建LoginServlet文件处理登陆的用户
  1. package com.controller;

  2. import java.io.IOException;

  3. import javax.servlet.ServletException;
  4. import javax.servlet.http.HttpServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import javax.servlet.http.HttpSession;

  8. import org.apache.hadoop.fs.FileStatus;
  9. import org.apache.hadoop.mapred.JobConf;



  10. import com.model.*;

  11. /**
  12. * Servlet implementation class ListServlet
  13. */
  14. public class LoginServlet extends HttpServlet {


  15.         /**
  16.          * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  17.          */
  18.         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  19.                 this.doPost(request, response);
  20.         }

  21.         /**
  22.          * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  23.          */
  24.         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  25.         
  26.                 String username = request.getParameter("username");
  27.                 String password = request.getParameter("password");

  28.                 UserBeanCl ubc = new UserBeanCl();
  29.                 if(ubc.checkUser(username, password)){
  30.                         //用户合法,跳转到界面
  31.                         HttpSession session = request.getSession();
  32.                         session.setAttribute("username", username);
  33.                         
  34.                         JobConf conf = HdfsDAO.config();
  35.                 HdfsDAO hdfs = new HdfsDAO(conf);
  36.                         FileStatus[] list = hdfs.ls("/"+username);
  37.                         request.setAttribute("list",list);
  38.                         request.getRequestDispatcher("index.jsp").forward(request, response);
  39.                 }else{
  40.                         //用户不合法,调回登录界面,并提示错误信息
  41.                         request.getRequestDispatcher("login.jsp").forward(request, response);
  42.                 }

  43.                
  44.          
  45.         }

  46. }
复制代码



(5)重启tomcat服务器测试,这次就可以实现用户登陆页面跳转了(从login.jsp跳转到index.jsp)

网盘代码地址.rar (166 Bytes, 下载次数: 78, 售价: 8 云币)

0

主题

1

听众

0

收听

高级会员

Rank: 4

积分
1624
发表于 2014-12-3 22:30:44 | 显示全部楼层

44

主题

2

听众

0

收听

高级会员

Rank: 4

积分
1463

最佳新人热心会员

发表于 2014-12-4 09:31:02 | 显示全部楼层
这里作为一个抛砖引玉,让后期hadoop web更好上手

0

主题

17

听众

55

收听

高级会员

Rank: 4

积分
2775
QQ
发表于 2014-12-28 17:53:12 | 显示全部楼层
舒舒坦坦过日子,折折腾腾学技术

0

主题

17

听众

55

收听

高级会员

Rank: 4

积分
2775
QQ
发表于 2014-12-31 11:32:15 | 显示全部楼层
舒舒坦坦过日子,折折腾腾学技术

0

主题

2

听众

0

收听

新手上路

Rank: 1

积分
28
发表于 2015-1-17 10:39:19 | 显示全部楼层
太牛啦啦啦啦啦

1

主题

4

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
392
QQ
发表于 2015-1-24 17:39:41 | 显示全部楼层
三个帖子一篇接着一篇把整个过程介绍的很详细。

2

主题

3

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
895
发表于 2015-1-30 16:14:47 | 显示全部楼层

0

主题

2

听众

0

收听

新手上路

Rank: 1

积分
21
发表于 2015-2-2 17:38:00 | 显示全部楼层
我在做你这个实验的时候碰到一点问题,当点击上传的时候,运行到 FileSystem fs = FileSystem.get(URI.create(HDFS), conf);这句话的时候,就直接跳出去了,也不报错,这个可能会是什么原因

0

主题

2

听众

0

收听

注册会员

Rank: 2

积分
138
发表于 2015-3-25 13:33:53 | 显示全部楼层
不错,好好学习天天向上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2018-11-17 02:11 , Processed in 0.442676 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表