zoukankan      html  css  js  c++  java
  • 完成在本机远程连接HBase进行数据增删改查

    1.进行hbase与本机远程连接测试连接

    1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字

    1.2修改虚拟机hosts文件,把以前的注释掉,并加上ip地址与主机名的映射关系

    1.3修改主机hosts文件 同上

    1.4 测试连接

    package model;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import org.apache.hadoop.hbase.client.Put;
    import org.apache.hadoop.hbase.client.Scan;
    import org.apache.hadoop.hbase.client.Table;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.util.Progressable;
    public class HelloHBase {
         public static Configuration configuration;
         public static Connection connection;
         public static Admin admin;
         public static long ts;
         
         //建立连接
            public static void init(){
                configuration  = HBaseConfiguration.create();
                configuration.set("hbase.zookeeper.quorum","192.168.146.128"); 
                try{
                    connection = ConnectionFactory.createConnection(configuration);
                    admin = connection.getAdmin();
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
            //关闭连接
            public static void close(){
                try{
                    if(admin != null){
                        admin.close();
                    }
                    if(null != connection){
                        connection.close();
                    }
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
          
            /**
             * 建表。HBase的表中会有一个系统默认的属性作为主键,主键无需自行创建,默认为put命令操作中表名后第一个数据,因此此处无需创建id列
             * @param myTableName 表名
             * @param colFamily 列族名
             * @throws IOException
             */
            public static void createTable(String myTableName,String[] colFamily) throws IOException {
         
                init();
                TableName tableName = TableName.valueOf(myTableName);
         
                if(admin.tableExists(tableName)){
                    System.out.println("talbe is exists!");
                }else {
                    HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);
                    for(String str:colFamily){
                        HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str);
                        hTableDescriptor.addFamily(hColumnDescriptor);
                    }
                    admin.createTable(hTableDescriptor);
                    System.out.println("create table success");
                }
                close();
            }
            /**
             * 向某一行的某一列插入数据
             * @param tableName 表名
             * @param rowKey 行键
             * @param colFamily 列族名
             * @param col 列名(如果其列族下没有子列,此参数可为空)
             * @param val 值
             * @throws IOException
             */
            public static void insertRow(String tableName,String rowKey,String colFamily,String col,String val) throws IOException {
                init();
                Table table = connection.getTable(TableName.valueOf(tableName));
                Put put = new Put(rowKey.getBytes());
                put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
                table.put(put);
                table.close();
                close();
            }
          
         public static void main(String [] args)throws IOException { 
             createTable("platform",new String[]{"article","PId","Pnum","approval_num","techField","PLevel","city","JJJGJ","Pform","faren_type","unite"});
             //在Score表中插入一条数据,其行键为95001,sname为Mary(因为sname列族下没有子列所以第四个参数为空)
             //等价命令:put 'Score','95001','sname','Mary'
             //insertRow("platform", "2", "Pname", "", "KYL");
             //在Score表中插入一条数据,其行键为95001,course:Math为88(course为列族,Math为course下的子列)
             //等价命令:put 'Score','95001','score:Math','88'
             //insertRow("platform", "2", "PId", "", "2");
             //在Score表中插入一条数据,其行键为95001,course:English为85(course为列族,English为course下的子列)
             //等价命令:put 'Score','95001','score:English','85'
             //insertRow("platform", "2", "Pnum", "", "2019-1-25");
             //insertRow("platform", "2", "approval_num", "", "123-456");
             //insertRow("platform", "2", "techField", "", "心理");
             //insertRow("platform", "2", "PLevel", "", "国家级");
             //insertRow("platform", "2", "city", "", "湖南长沙岳麓区");
             //insertRow("platform", "2", "JJJGJ", "", "是");
             //insertRow("platform", "2", "Pform", "", "内设机构相对独立");
             //insertRow("platform", "2", "faren_type", "", "事业法人");
             //insertRow("platform", "2", "unite", "", "多单位联合共建");
         }
    }

    成功会控制台输出 create table success

    2.Java api实例操作增删改查

    系统流程为:填表->根据平台编号查看平台相关信息->根据平台编号修改信息->根据平台编号删除信息

    遇到的问题见上个博客,一定要注意HBase与tomcat的包会有冲突

    还有几个值得注意的是:hbase的包在写web界面要放到WEB-INF/lib下

     几个界面截图如下:

    model包

    package model;
    
    import java.sql.Date;
    
    public class platform {
    	private String Pname;  //楠炲啿褰撮崥宥囆�
    	private String PId; //楠炲啿褰寸紓鏍у娇
    	private String Pnum;//閹电懓鍣�獮瀛樻箑
    	private String approval_num; //閹电懓鍣�弬鍥у娇
    	private String techField; //閹讹拷閺堫垶顣�崺锟�
    	private String PLevel; //楠炲啿褰寸痪褍鍩�
    	private String city;//閹碉拷閸︺劌绔堕崠锟�
    	private String JJJGJ;//娴滎剚瑙﹂崘锟介崗鍗炵紦
    	private String Pform;//楠炲啿褰寸紒鍕�矏瑜般垹绱�
    	private String faren_type;//濞夋洑姹夌猾璇茬��
    	private String unite; //閼辨柨鎮庨崗鍗炵紦
    	public platform(String Pname, String Pnum, String approval_num, String techField, String PLevel, String city, String Pform, String faren_type, String unite, String JJJGJ) {
    		this.Pname = Pname;
    		this.Pnum = Pnum;
    		this.approval_num = approval_num;
    		this.techField = techField;
    		this.PLevel = PLevel;
    		this.city = city;
    		this.JJJGJ = JJJGJ;
    		this.Pform = Pform;
    		this.faren_type = faren_type;
    		this.unite = unite;
    	}
    	public platform() {
    		
    	}
    	public String getPname() {
    		return Pname;
    	}
    	public void setPname(String pname) {
    		Pname = pname;
    	}
    	
    	
    	public String getPId() {
    		return PId;
    	}
    	public void setPId(String pId) {
    		PId = pId;
    	}
    	public String getPnum() {
    		return Pnum;
    	}
    	public void setPnum(String pnum) {
    		Pnum = pnum;
    	}
    	public String getApproval_num() {
    		return approval_num;
    	}
    	public void setApproval_num(String approval_num) {
    		this.approval_num = approval_num;
    	}
    	public String getTechField() {
    		return techField;
    	}
    	public void setTechField(String techField) {
    		this.techField = techField;
    	}
    	public String getCity() {
    		return city;
    	}
    	public void setCity(String city) {
    		this.city = city;
    	}
    	public String getPLevel() {
    		return PLevel;
    	}
    	public void setPLevel(String pLevel) {
    		PLevel = pLevel;
    	}
    	public String getJJJGJ() {
    		return JJJGJ;
    	}
    	public void setJJJGJ(String jJJGJ) {
    		JJJGJ = jJJGJ;
    	}
    	public String getPform() {
    		return Pform;
    	}
    	public void setPform(String pform) {
    		Pform = pform;
    	}
    	public String getFaren_type() {
    		return faren_type;
    	}
    	public void setFaren_type(String faren_type) {
    		this.faren_type = faren_type;
    	}
    	public String getUnite() {
    		return unite;
    	}
    	public void setUnite(String unite) {
    		this.unite = unite;
    	}
    	
    }
    

      

    dao层

    package dao;
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.KeyValue;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.util.Progressable;
    
    
    import model.platform;
    public class PlatformDao {
    	 public static Configuration configuration;
    	 public static Connection connection;
    	 public static Admin admin;
    	 public static long ts;
    	 
    	 //建立连接
    	    public static void init(){
    	        configuration  = HBaseConfiguration.create();
    	        configuration.set("hbase.zookeeper.quorum","192.168.146.128"); 
    	        try{
    	            connection = ConnectionFactory.createConnection(configuration);
    	            admin = connection.getAdmin();
    	        }catch (IOException e){
    	            e.printStackTrace();
    	        }
    	    }
    	    //关闭连接
    	    public static void close(){
    	        try{
    	            if(admin != null){
    	                admin.close();
    	            }
    	            if(null != connection){
    	                connection.close();
    	            }
    	        }catch (IOException e){
    	            e.printStackTrace();
    	        }
    	    }
    	  
    	    @SuppressWarnings("deprecation")
    		public  platform  get(String tableName,String rowKey) {
    	    	 init();
    	    	 Table table = null;
    	    	 platform platform = new platform();
    			try {
    				table = connection.getTable(TableName.valueOf(tableName));
    				 Get get = new Get(rowKey.getBytes());
    		         
    		         Result result = table.get(get);
    		         
    		         KeyValue[] raw = result.raw();
    		         platform.setPId(new String(raw[1].getValue()) );
    		         platform.setPname(new String(raw[4].getValue()) );
    		         platform.setPnum(new String(raw[5].getValue()) );
    		         platform.setApproval_num(new String(raw[6].getValue()) );
    		         platform.setTechField(new String(raw[9].getValue()) );
    		         platform.setPLevel(new String(raw[2].getValue()) );
    		         platform.setCity(new String(raw[7].getValue()) );
    		         platform.setJJJGJ(new String(raw[0].getValue()) );
    		         platform.setPform(new String(raw[3].getValue()) );
    		         platform.setFaren_type(new String(raw[8].getValue()) );
    		         platform.setUnite(new String(raw[10].getValue()) );
    		         System.out.println("平台编号:"+platform.getPId());
    		         System.out.println("平台姓名:"+platform.getPname());
    		         System.out.println("批准年月:"+platform.getPnum());
    		         System.out.println("批准文号:"+platform.getApproval_num());
    		         System.out.println("技术领域:"+platform.getTechField());
    		         System.out.println("平台等级:"+platform.getPLevel());
    		         System.out.println("所在市区:"+platform.getCity());
    		         System.out.println("京津冀共建:"+platform.getJJJGJ());
    		         System.out.println("平台组织形态:"+platform.getPform());
    		         System.out.println("法人类型:"+platform.getFaren_type());
    		         System.out.println("联合共建:"+platform.getUnite());
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}finally {
    				 try {
    					table.close();
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    		         close();
    			}
    			return platform;
    			
    		}
    		
    	  
    	 public static void main(String [] args)throws IOException { 
    		 //createTable("platform",new String[]{"article","PId","Pnum","approval_num","techField","PLevel","city","JJJGJ","Pform","faren_type","unite"});
    		 //在Score表中插入一条数据,其行键为95001,sname为Mary(因为sname列族下没有子列所以第四个参数为空)
    	     //等价命令:put 'Score','95001','sname','Mary'
    	     //insertRow("platform", "2", "Pname", "", "KYL");
    	     //在Score表中插入一条数据,其行键为95001,course:Math为88(course为列族,Math为course下的子列)
    	     //等价命令:put 'Score','95001','score:Math','88'
    	     //insertRow("platform", "2", "PId", "", "2");
    	     //在Score表中插入一条数据,其行键为95001,course:English为85(course为列族,English为course下的子列)
    	     //等价命令:put 'Score','95001','score:English','85'
    	     //insertRow("platform", "2", "Pnum", "", "2019-1-25");
    	     //insertRow("platform", "2", "approval_num", "", "123-456");
    	     //insertRow("platform", "2", "techField", "", "心理");
    	     //insertRow("platform", "2", "PLevel", "", "国家级");
    	     //insertRow("platform", "2", "city", "", "湖南长沙岳麓区");
    	     //insertRow("platform", "2", "JJJGJ", "", "是");
    	     //insertRow("platform", "2", "Pform", "", "内设机构相对独立");
    	     //insertRow("platform", "2", "faren_type", "", "事业法人");
    	     //insertRow("platform", "2", "unite", "", "多单位联合共建");
    		//查询Score表中,行键为95001,列族为course,列为Math的值
    		 //PlatformDao platformDao = new PlatformDao();
    		 //platformDao.get("platform", "123456");
    	        //查询Score表中,行键为95001,列族为sname的值(因为sname列族下没有子列所以第四个参数为空)
    	        //getData("Score", "95001", "sname", "");
    	 }
    }
    

      

    servlet

    package servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.util.Progressable;
    
    
    
    @SuppressWarnings("serial")
    public class FillinServlet extends HttpServlet {
    	
    	 public static Configuration configuration;
    	 public static Connection connection;
    	 public static Admin admin;
    	 public static long ts;
    	 
    	 //建立连接
        public static void init1(){
            configuration  = HBaseConfiguration.create();
            configuration.set("hbase.zookeeper.quorum","192.168.146.128"); 
            try{
                connection = ConnectionFactory.createConnection(configuration);
                admin = connection.getAdmin();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
        //关闭连接
        public static void close(){
            try{
                if(admin != null){
                    admin.close();
                }
                if(null != connection){
                    connection.close();
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    	 
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		super.doGet(req, resp);
    	}
    	
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    		request.setCharacterEncoding("utf-8");
    		/**平台锟斤拷锟斤拷锟斤拷息*/
    		 String Pname = request.getParameter("Pname");//平台名称
    		 String PId = request.getParameter("PId");//平台编号
    		 String Pnum = request.getParameter("Pnum"); //批准年月
    		 String approval_num = request.getParameter("approval_num"); //批准文号
    		 String tech_field = request.getParameter("tech_field"); //技术领域
    		 String platform_grade = request.getParameter("platform_grade"); //平台级别
    	     String platform_province = request.getParameter("cmbProvince");            //省
    	     String platform_city = request.getParameter("cmbCity");                    //市
    	     String platform_district = request.getParameter("cmbArea");            //区
    	     String platform_form = request.getParameter("platform_form");           //平台组织形式
    	     String platform_faren_type = request.getParameter("faren_type");        //法人类型
    	     String platform_unite = request.getParameter("unite");                  //联合共建
    	     String platform_jjjgj = request.getParameter("jjjgj");                //京津冀共建
    	     /**
    	      * 锟斤拷锟斤拷锟斤拷锟捷匡拷
    	      */
    	    System.out.println(Pname);
    	    String city = platform_province+platform_city+platform_district;
    	    try {
    	             //等价命令:put 'Score','95001','sname','Mary'
    			     insertRow("platform", PId, "Pname", "", Pname);
    			     //在Score表中插入一条数据,其行键为95001,course:Math为88(course为列族,Math为course下的子列)
    			     //等价命令:put 'Score','95001','score:Math','88'
    			     insertRow("platform", PId, "PId", "", PId);
    			     //在Score表中插入一条数据,其行键为95001,course:English为85(course为列族,English为course下的子列)
    			     //等价命令:put 'Score','95001','score:English','85'
    			     insertRow("platform", PId, "Pnum", "", Pnum);
    			     insertRow("platform", PId, "approval_num", "", approval_num);
    			     insertRow("platform", PId, "techField", "", tech_field);
    			     insertRow("platform", PId, "PLevel", "", platform_grade);
    			     insertRow("platform", PId, "city", "",city );
    			     insertRow("platform", PId, "JJJGJ", "", platform_jjjgj);
    			     insertRow("platform", PId, "Pform", "", platform_form);
    			     insertRow("platform", PId, "faren_type", "", platform_faren_type);
    			     insertRow("platform", PId, "unite", "", platform_unite);
    	     }catch (IOException e) {
    	            e.printStackTrace();
    	     }
    		response.setCharacterEncoding("GBK");
    		PrintWriter out = response.getWriter();
    		out.println("<script language='javaScript'>alert("添加成功!");</script>");	
    		response.setHeader("refresh","1;url = /HBase/index.jsp");
    		Bytes.toBytes("Pname");
    		Bytes.toBytes("PId");
    		Bytes.toBytes("Pnum");
    		Bytes.toBytes("approval_num");
    		Bytes.toBytes("techField");
    		Bytes.toBytes("city");
    		Bytes.toBytes("JJJGJ");
    		Bytes.toBytes("Pform");
    		Bytes.toBytes("faren_type");
    		Bytes.toBytes("unite");
    	}
    	
    	/**
         * 向某一行的某一列插入数据
         * @param tableName 表名
         * @param rowKey 行键
         * @param colFamily 列族名
         * @param col 列名(如果其列族下没有子列,此参数可为空)
         * @param val 值
         * @throws IOException
         */
        public static void insertRow(String tableName,String rowKey,String colFamily,String col,String val) throws IOException {
            init1();
            Table table = connection.getTable(TableName.valueOf(tableName));
            Put put = new Put(rowKey.getBytes());
            put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
            table.put(put);
            table.close();
            close();
        }
    }
    

      

    package servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.util.Progressable;
    
    
    
    public class DeleteServlet extends HttpServlet {
    	
    	 public static Configuration configuration;
    	 public static Connection connection;
    	 public static Admin admin;
    	 public static long ts;
    	 
    	 //建立连接
        public static void init1(){
            configuration  = HBaseConfiguration.create();
            configuration.set("hbase.zookeeper.quorum","192.168.146.128"); 
            try{
                connection = ConnectionFactory.createConnection(configuration);
                admin = connection.getAdmin();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
        //关闭连接
        public static void close(){
            try{
                if(admin != null){
                    admin.close();
                }
                if(null != connection){
                    connection.close();
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    	 
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    	}
    	
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    		request.setCharacterEncoding("utf-8");
    		/**平台锟斤拷锟斤拷锟斤拷息*/
    		 String PId = request.getParameter("PId");//平台编号
    		
    	    
    	    try {
    	             //等价命令:put 'Score','95001','sname','Mary'
    			     deleteRow("platform", PId);
    			     //在Score表中插入一条数据,其行键为95001,course:Math为88(course为列族,Math为course下的子列)
    			     //等价命令:put 'Score','95001','score:Math','88'
    			     //deleteRow("platform", PId, "PId", "");
    			     //在Score表中插入一条数据,其行键为95001,course:English为85(course为列族,English为course下的子列)
    			     //等价命令:put 'Score','95001','score:English','85'
    			     //deleteRow("platform", PId, "Pnum", "");
    			     //deleteRow("platform", PId, "approval_num", "");
    			     //deleteRow("platform", PId, "techField", "");
    			    // deleteRow("platform", PId, "PLevel", "");
    			     //deleteRow("platform", PId, "city", "");
    			     //deleteRow("platform", PId, "JJJGJ", "");
    			     //deleteRow("platform", PId, "Pform", "");
    			     //deleteRow("platform", PId, "faren_type", "");
    			     //deleteRow("platform", PId, "unite", "");
    	     }catch (IOException e) {
    	            e.printStackTrace();
    	     }
    	    System.out.println("删除成功");
    		response.setCharacterEncoding("GBK");
    		PrintWriter out = response.getWriter();
    		out.println("<script language='javaScript'>alert("删除成功!");</script>");	
    		response.setHeader("refresh","1;url = /HBase/index.jsp");
    		
    	    //request.getRequestDispatcher("/index1.jsp").forward(request,response);
    	}
    	 public static void deleteRow(String tableName, String row) throws IOException {
    	        init1();
    	        Table table = connection.getTable(TableName.valueOf(tableName));
    	        Delete delete=new Delete(row.getBytes());
    	        table.delete(delete);
    	        System.out.println(6666);
    	        table.close();
    	        close();
    	    }
    	
    }
    

      

    package servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.util.Progressable;
    
    import dao.PlatformDao;
    import model.platform;
    
    
    
    @SuppressWarnings("serial")
    public class ModifyServlet extends HttpServlet {
    	
    	 public static Configuration configuration;
    	 public static Connection connection;
    	 public static Admin admin;
    	 public static long ts;
    	 
    	 //建立连接
        public static void init1(){
            configuration  = HBaseConfiguration.create();
            configuration.set("hbase.zookeeper.quorum","192.168.146.128"); 
            try{
                connection = ConnectionFactory.createConnection(configuration);
                admin = connection.getAdmin();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
        //关闭连接
        public static void close(){
            try{
                if(admin != null){
                    admin.close();
                }
                if(null != connection){
                    connection.close();
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    	 
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    	}
    	
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    		request.setCharacterEncoding("utf-8");
    		/**平台锟斤拷锟斤拷锟斤拷息*/
    		String PId = request.getParameter("PId");
    		//String condition = request.getParameter("Condition");
    	    String content = request.getParameter("content");
    	    System.out.println(PId);
    	    //System.out.println(condition);
    		System.out.println(content);
    	    
    	    try {
    	             //等价命令:put 'Score','95001','sname','Mary'
    			     //deleteRow("platform", PId);
    			     //在Score表中插入一条数据,其行键为95001,course:Math为88(course为列族,Math为course下的子列)
    			     //等价命令:put 'Score','95001','score:Math','88'
    			     //deleteRow("platform", PId, "PId", "");
    			     //在Score表中插入一条数据,其行键为95001,course:English为85(course为列族,English为course下的子列)
    			     //等价命令:put 'Score','95001','score:English','85'
    			     //deleteRow("platform", PId, "Pnum", "");
    			     //deleteRow("platform", PId, "approval_num", "");
    			     //deleteRow("platform", PId, "techField", "");
    			    // deleteRow("platform", PId, "PLevel", "");
    			     //deleteRow("platform", PId, "city", "");
    			     //deleteRow("platform", PId, "JJJGJ", "");
    			     //deleteRow("platform", PId, "Pform", "");
    			     //deleteRow("platform", PId, "faren_type", "");
    			     //deleteRow("platform", PId, "unite", "");
    	    	
    	    	insertRow("platform",PId,"approval_num","",content);
    	     }catch (IOException e) {
    	            e.printStackTrace();
    	     }
    		response.setCharacterEncoding("GBK");
    		PrintWriter out = response.getWriter();
    		out.println("<script language='javaScript'>alert("修改成功!");</script>");	
    		response.setHeader("refresh","1;url = /HBase/index.jsp");
    		
    	    //request.getRequestDispatcher("/index1.jsp").forward(request,response);
    	}
    	/**
         * 向某一行的某一列插入数据
         * @param tableName 表名
         * @param rowKey 行键
         * @param colFamily 列族名
         * @param col 列名(如果其列族下没有子列,此参数可为空)
         * @param val 值
         * @throws IOException
         */
        
    	public static void insertRow(String tableName,String rowKey,String colFamily,String col,String val) throws IOException {
            init1();
            System.out.println("1"+rowKey);
            System.out.println("2"+colFamily);
            System.out.println("3"+col);
            System.out.println("4"+val);
            Table table = connection.getTable(TableName.valueOf(tableName));
            Put put = new Put(rowKey.getBytes());
            put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
            table.put(put);
            table.close();
            close();
        }
    	
    }
    

      

    package servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.*;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.hadoop.util.Progressable;
    
    import dao.PlatformDao;
    import model.platform;
    
    
    
    @SuppressWarnings("serial")
    public class SearchServlet extends HttpServlet {
    	
    	 public static Configuration configuration;
    	 public static Connection connection;
    	 public static Admin admin;
    	 public static long ts;
    	 
    	 
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    	}
    	
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		request.setCharacterEncoding("utf-8");
    	    String PId = request.getParameter("PId");
    	    platform platform = new platform();
    	    PlatformDao platformDao = new PlatformDao();
    	    platform = platformDao.get("platform", PId);
    	    
    	    request.setAttribute("PId", platform.getPId());
    	    request.setAttribute("Pname", platform.getPname());
    	    request.setAttribute("Pnum", platform.getPnum());
    	    request.setAttribute("approval_num", platform.getApproval_num());
    	    request.setAttribute("techField", platform.getTechField());
    	    request.setAttribute("PLevel", platform.getTechField());
    	    request.setAttribute("city", platform.getCity());
    	    request.setAttribute("JJJGJ", platform.getJJJGJ());
    	    request.setAttribute("Pform", platform.getPform());
    	    request.setAttribute("faren_type", platform.getFaren_type());
    	    request.setAttribute("unite", platform.getUnite());
    	    System.out.println("平台编号:"+platform.getPId());
    	    
    	    request.getRequestDispatcher("/show.jsp").forward(request,response);
    		
    	}
    	
    }
    

      

    jsp

    modify.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>修改内容</title>
    </head>
    <body>
    	<form action="servlet/ModifyServlet" method="post">
    	请选择要修改的平台编号:<input type="text" name="PId">
    	请选择要修改的内容:<br>
    	<select name="Condition">
    		<option value="Approval_num">批准文号</option>
    		<option value="PLevel">平台级别</option>
    	</select>
    	<input type="text" name="content">
    	<button type="submit">提交</button>
    	</form>
    </body>
    </html>
    

      Fill_in.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="servlet/SearchServlet" method="post">
    	<div>
    		<input type="text" name="PId">
    		<button type="submit">提交</button>
    	</div>
    </form>
    
    </body>
    </html>
    

      show.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <% String PId = (String)request.getAttribute("PId");%>
    <% String Pname = (String)request.getAttribute("Pname");%>
    <% String Pnum = (String)request.getAttribute("Pnum");%>
    <% String approval_num = (String)request.getAttribute("approval_num");%>
    <% String techField = (String)request.getAttribute("techField");%>
    <% String PLevel = (String)request.getAttribute("PLevel");%>
    <% String city = (String)request.getAttribute("city");%>
    <% String JJJGJ = (String)request.getAttribute("JJJGJ");%>
    <% String Pform = (String)request.getAttribute("Pform");%>
    <% String faren_type = (String)request.getAttribute("faren_type");%>
    <% String unite = (String)request.getAttribute("unite");%>
     
    <%="平台编号为:"+PId %> <br><br>
    <%="平台名称为:"+Pname %> <br><br>
    <%="批准年月为:"+Pnum %> <br><br>
    <%="批准文号为:"+approval_num %> <br><br>
    <%="平台编号为:"+techField %> <br><br>
    <%="平台编号为:"+PLevel %> <br><br>
    <%="平台编号为:"+city %> <br><br>
    <%="平台编号为:"+JJJGJ %> <br><br>
    <%="平台编号为:"+Pform %> <br><br>
    <%="平台编号为:"+faren_type %> <br><br>
    <%="平台编号为:"+unite %> <br><br>
    <button type="submit"><a href="index.jsp">回到首页</a></button>
    </body>
    </html>
    

      delete.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="servlet/DeleteServlet" method="post">
    	<div>
    		<input type="text" name="PId">
    		<button type="submit">提交</button>
    	</div>
    </form>
    
    </body>
    </html>
    

      

  • 相关阅读:
    JS DOM编程艺术——DOM获取元素—— JS学习笔记2015-7-6(第77天)
    JS DOM编程艺术的学习—— JS学习笔记2015-7-5(第76天)
    面向对象的程序设计1 理解对象—— JS学习笔记2015-7-4(第75天)
    JS 引用类型 Math 对象 JS学习笔记2015-7-3(第74天)
    JS 引用类型和值类型
    HTML5之应用缓存---manifest---缓存使用----Web前端manifest缓存
    易懂 易上手的cookie 最简单明了 js中cookie的使用方法及教程
    iOS开发-面试总结(十一)
    iOS开发-面试总结(十)
    iOS开发-面试总结(九)
  • 原文地址:https://www.cnblogs.com/-2016/p/10325839.html
Copyright © 2011-2022 走看看