2020 级课堂测试试卷—HBASE数据库应用

一、     测试题目

1、完成《河北省重大技术需求征集》基本信息填报功能,样表如下所示:

*机构全称

                               

归口管理部门

 

*通讯地址

 

*所在地域

 

网  址

 

*电子信箱

 

*法人代表

 

邮政编码

 

*联 系 人

 

*电  话

1.固定            2.手机

传  真

 

*机构属性

○企业      ○高等院校   ○研究机构   ○其他

*机构简介(主要包括基本情况、现有研究基础等,500字以内

*技术需求名称

 

*需求时限

    年至     

*技术需求概述

1、主要问题(需要解决的重大技术问题,限500字以内

2、技术关键(所需的关键技术、主要指标,限500字以内

3、预期目标(技术创新性、经济社会效益,限500字以内

*关键字:(1-5个) 五个文本框(只能逐个顺序录入)

拟投入资金总额

                                         万元

*技术需求解决方式

(位置调整)

独立研发     委托研发   合作研发     其他   

合作意向单位                      (选填)

*科技活动类型

○基础研究  ○应用研究  ○试验发展

○研究与试验发展成果应用  ○技术推广与科技服务  ○生产性活动

学科分类(限基础研究填写)

(参见学科分类)三级下拉文本框

需求技术所属领域

(非基础研究填写)

□电子信息  □光机电一体化  □生物技术与制药  □新材料及应用 □ 现代农业 □新能源与高效节能  □资源与环境  □高技术服务业  □海洋  □社会公共事业  □医疗卫生  □其它(注明)

                                                    (可多选)

需求技术

应用行业

(非基础研究填写)

(参见国民经济行业分类)三级下拉文本框

                                                      

                     

2、实现按照机构全称、所在地域、技术需求名称、关键词的多条件查询;

3、实现按照科技活动类型或机构属性的统计查询。

4、后台数据库要求使用HBASE数据库,并将新数据存入HBase新建表中。

5、实现从数据库中将新数据读出展示在前台页面。

在电脑装好Hbase之后,先来看下hbase的连接

pom.xml配置(这个原来有些问题,就是无法打开web页面,如果之前其他的web项目都可以正常运行,就不是tomcat的问题而是pom.xml依赖的问题,现在还没有弄清楚是缺失了那些依赖还是某些没有导入,解决之后再来总结一下,先来看一下能正常运行的pom.xml)

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>tech</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>tech</name>
    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <junit.version>5.8.2</junit.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.1.0</version>
        </dependency>

        <!--spring相关-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>

        <!--servlet和jsp-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
        </dependency>

        <!--mybatis相关-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.3</version>
        </dependency>
        <!-- 添加slf4j日志api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.20</version>
        </dependency>
        <!-- 添加logback-classic依赖 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!-- 添加logback-core依赖 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
        </plugins>
    </build>
</project>
复制代码

然后log4j.properties配置

复制代码
log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=firestorm.log

log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

log4j.logger.com.codefutures=DEBUG
复制代码

hbase的增删改查的dao层(无中文乱码)

复制代码
package com.example.tech.dButils;
import bean.Pojo;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class HbaseCRUD {
    private static Configuration configuration;
    private static Connection connection;
    private static Admin admin;

    public HbaseCRUD() {
        init();
    }

    /**
     * 建立连接
     */
    public void init(){

        configuration=HBaseConfiguration.create();
        configuration.set("hbase.zookeeper.quorum","192.168.88.161"); // 换成你自己的IP
        configuration.set("hbase.zookeeper.property.clientPort","2181");
        try{
            connection=ConnectionFactory.createConnection(configuration);
            admin=connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    /**
     * 关闭连接
     */
    public void close(){
        try{
            if(admin!=null)
                admin.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    /**
     * 创建表
     * @param myTableName 表名
     * @param colFamily 列族数组
     * @throws IOException
     */
    public void createTable(String myTableName,String[]colFamily)throws IOException{
        TableName tablename = TableName.valueOf(myTableName);
        if(admin.tableExists(tablename)){
            System.out.println("表已存在,删除旧表");
            admin.disableTable(tablename);//使表无效
            admin.deleteTable(tablename);//删表
        }
        HTableDescriptor hTableDescriptor = new HTableDescriptor(tablename);
        for(String str:colFamily){  //增加一列
            HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str);
            hTableDescriptor.addFamily(hColumnDescriptor);
        }
        admin.createTable(hTableDescriptor); //建表
        System.out.println("建表成功");
    }

    /**
     * 插入数据
     * @param tableName 表名
     * @param rowKey 行键
     * @param fields 列族(或列族:列限定符)
     * @param values  值
     * @throws IOException
     */
    public void addRecord(String tableName,String rowKey,String []fields,String [] values) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tableName));
        for (int i = 0; i < fields.length; i++) {
            Put put = new Put(Bytes.toBytes(rowKey));
            String [] cols = fields[i].split(":");
            if(cols.length == 1)
                put.addColumn(Bytes.toBytes(cols[0]), Bytes.toBytes(""),Bytes.toBytes(values[i]));
            else
                put.addColumn(Bytes.toBytes(cols[0]),Bytes.toBytes(cols[1]),Bytes.toBytes(values[i]));
            table.put(put);
            System.out.println("添加成功");
        }
        table.close();
    }

    /**
     * 查询数据
     * @param tableName 表名
     * @param column 列族(或列族:列限定符)
     * @throws IOException
     */
    public Pojo scanColumn (String tableName,String column) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tableName));
        Get get = new Get(Bytes.toBytes(column));
        //
        Result result = table.get(get);
        Pojo pojo = new Pojo();
        List<Cell> cells = result.listCells();
        pojo.setCz(Bytes.toString(cells.get(1).getValueArray(),cells.get(1).getValueOffset(),cells.get(1).getValueLength()));
        pojo.setDwwz(Bytes.toString(cells.get(2).getValueArray(),cells.get(2).getValueOffset(),cells.get(2).getValueLength()));
        pojo.setDzyx(Bytes.toString(cells.get(3).getValueArray(),cells.get(3).getValueOffset(),cells.get(3).getValueLength()));
        pojo.setFrdb(Bytes.toString(cells.get(4).getValueArray(),cells.get(4).getValueOffset(),cells.get(4).getValueLength()));
        pojo.setGddh(Bytes.toString(cells.get(5).getValueArray(),cells.get(5).getValueOffset(),cells.get(5).getValueLength()));
        pojo.setGkglbm(Bytes.toString(cells.get(6).getValueArray(),cells.get(6).getValueOffset(),cells.get(6).getValueLength()));
        pojo.setJgjj(Bytes.toString(cells.get(7).getValueArray(),cells.get(7).getValueOffset(),cells.get(7).getValueLength()));
        pojo.setJgmc(Bytes.toString(cells.get(8).getValueArray(),cells.get(8).getValueOffset(),cells.get(8).getValueLength()));
        pojo.setJgsx(Bytes.toString(cells.get(9).getValueArray(),cells.get(9).getValueOffset(),cells.get(9).getValueLength()));
        pojo.setJsxqmc(Bytes.toString(cells.get(10).getValueArray(),cells.get(10).getValueOffset(),cells.get(10).getValueLength()));
        pojo.setLxr(Bytes.toString(cells.get(11).getValueArray(),cells.get(11).getValueOffset(),cells.get(11).getValueLength()));
        pojo.setSzdy(Bytes.toString(cells.get(12).getValueArray(),cells.get(12).getValueOffset(),cells.get(12).getValueLength()));
        pojo.setTxdz(Bytes.toString(cells.get(13).getValueArray(),cells.get(13).getValueOffset(),cells.get(13).getValueLength()));
        pojo.setYddh(Bytes.toString(cells.get(14).getValueArray(),cells.get(14).getValueOffset(),cells.get(14).getValueLength()));
        pojo.setYzbm(Bytes.toString(cells.get(15).getValueArray(),cells.get(15).getValueOffset(),cells.get(15).getValueLength()));
        System.out.println(pojo.toString());
        table.close();
        return pojo;
    }

    /**
     * 查全部数据
     * @param tableName
     * @return
     * @throws IOException
     */

    public ArrayList<Pojo> scanAll(String tableName,String jgmc) throws IOException {

        Table table = connection.getTable(TableName.valueOf(tableName));
        Scan scan = new Scan();
        ArrayList<Pojo> pojos = new ArrayList<>();
        ResultScanner resultScanner = table.getScanner(scan);
        for (Result result : resultScanner) {
            Pojo pojo = new Pojo();
            //将数据值放到一个数组中
            List<Cell> cells = result.listCells();
            System.out.println(Bytes.toString(cells.get(0).getValueArray(),cells.get(0).getValueOffset(),cells.get(0).getValueLength()));
            pojo.setCz(Bytes.toString(cells.get(1).getValueArray(),cells.get(1).getValueOffset(),cells.get(1).getValueLength()));
            pojo.setDwwz(Bytes.toString(cells.get(2).getValueArray(),cells.get(2).getValueOffset(),cells.get(2).getValueLength()));
            pojo.setDzyx(Bytes.toString(cells.get(3).getValueArray(),cells.get(3).getValueOffset(),cells.get(3).getValueLength()));
            pojo.setFrdb(Bytes.toString(cells.get(4).getValueArray(),cells.get(4).getValueOffset(),cells.get(4).getValueLength()));
            pojo.setGddh(Bytes.toString(cells.get(5).getValueArray(),cells.get(5).getValueOffset(),cells.get(5).getValueLength()));
            pojo.setGkglbm(Bytes.toString(cells.get(6).getValueArray(),cells.get(6).getValueOffset(),cells.get(6).getValueLength()));
            pojo.setJgjj(Bytes.toString(cells.get(7).getValueArray(),cells.get(7).getValueOffset(),cells.get(7).getValueLength()));
            pojo.setJgmc(Bytes.toString(cells.get(8).getValueArray(),cells.get(8).getValueOffset(),cells.get(8).getValueLength()));
            pojo.setJgsx(Bytes.toString(cells.get(9).getValueArray(),cells.get(9).getValueOffset(),cells.get(9).getValueLength()));
            pojo.setJsxqmc(Bytes.toString(cells.get(10).getValueArray(),cells.get(10).getValueOffset(),cells.get(10).getValueLength()));
            pojo.setLxr(Bytes.toString(cells.get(11).getValueArray(),cells.get(11).getValueOffset(),cells.get(11).getValueLength()));
            pojo.setSzdy(Bytes.toString(cells.get(12).getValueArray(),cells.get(12).getValueOffset(),cells.get(12).getValueLength()));
            pojo.setTxdz(Bytes.toString(cells.get(13).getValueArray(),cells.get(13).getValueOffset(),cells.get(13).getValueLength()));
            pojo.setYddh(Bytes.toString(cells.get(14).getValueArray(),cells.get(14).getValueOffset(),cells.get(14).getValueLength()));
            pojo.setYzbm(Bytes.toString(cells.get(15).getValueArray(),cells.get(15).getValueOffset(),cells.get(15).getValueLength()));
            System.out.println(pojo);
            if(pojo.getJgmc().equals(jgmc)){
                pojos.add(pojo);
            }
        }
        table.close();
        return pojos;
    }
    /**
     * 修改数据
     * @param tableName 表名
     * @param rowKey 行键
     * @param column 列族(或列族:列限定符)
     * @param value 值
     * @throws IOException
     */
    public void modifyData(String tableName,String rowKey,String column,String value) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tableName));
        Put put = new Put(rowKey.getBytes());
        String [] cols = column.split(":");
        if(cols.length==1)
            put.addColumn(column.getBytes(),"".getBytes() , value.getBytes());
        else
            put.addColumn(cols[0].getBytes(),cols[1].getBytes() , value.getBytes());
        table.put(put);
        table.close();
    }

    /**
     * 删除数据
     * @param tableName 表名
     * @param rowKey 行键
     * @throws IOException
     */
    public void deleteRow(String tableName,String rowKey) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tableName));
        Delete delete = new Delete(rowKey.getBytes());
        table.delete(delete);
        table.close();
    }
}
复制代码

Pojo类

复制代码
package bean;

public class Pojo {
    private String jgmc;
    private String gkglbm;
    private String txdz;
    private String szdy;
    private String dwwz;
    private String dzyx;
    private String frdb;
    private String yzbm;
    private String lxr;
    private String gddh;
    private String yddh;
    private String cz;
    private String jgsx;
    private String jgjj;
    private String jsxqmc;

    public String getJgmc() {
        return jgmc;
    }

    public void setJgmc(String jgmc) {
        this.jgmc = jgmc;
    }

    public String getGkglbm() {
        return gkglbm;
    }

    public void setGkglbm(String gkglbm) {
        this.gkglbm = gkglbm;
    }

    public String getTxdz() {
        return txdz;
    }

    public void setTxdz(String txdz) {
        this.txdz = txdz;
    }

    public String getSzdy() {
        return szdy;
    }

    public void setSzdy(String szdy) {
        this.szdy = szdy;
    }

    public String getDwwz() {
        return dwwz;
    }

    public void setDwwz(String dwwz) {
        this.dwwz = dwwz;
    }

    public String getDzyx() {
        return dzyx;
    }

    public void setDzyx(String dzyx) {
        this.dzyx = dzyx;
    }

    public String getFrdb() {
        return frdb;
    }

    public void setFrdb(String frdb) {
        this.frdb = frdb;
    }

    public String getYzbm() {
        return yzbm;
    }

    public void setYzbm(String yzbm) {
        this.yzbm = yzbm;
    }

    public String getLxr() {
        return lxr;
    }

    public void setLxr(String lxr) {
        this.lxr = lxr;
    }

    public String getGddh() {
        return gddh;
    }

    public void setGddh(String gddh) {
        this.gddh = gddh;
    }

    public String getYddh() {
        return yddh;
    }

    public void setYddh(String yddh) {
        this.yddh = yddh;
    }

    public String getCz() {
        return cz;
    }

    public void setCz(String cz) {
        this.cz = cz;
    }

    public String getJgsx() {
        return jgsx;
    }

    public void setJgsx(String jgsx) {
        this.jgsx = jgsx;
    }

    public String getJgjj() {
        return jgjj;
    }

    public void setJgjj(String jgjj) {
        this.jgjj = jgjj;
    }

    public String getJsxqmc() {
        return jsxqmc;
    }

    public void setJsxqmc(String jsxqmc) {
        this.jsxqmc = jsxqmc;
    }

    @Override
    public String toString() {
        return "Pojo{" +
                "jgmc='" + jgmc + '\'' +
                ", gkglbm='" + gkglbm + '\'' +
                ", txdz='" + txdz + '\'' +
                ", szdy='" + szdy + '\'' +
                ", dwwz='" + dwwz + '\'' +
                ", dzyx='" + dzyx + '\'' +
                ", frdb='" + frdb + '\'' +
                ", yzbm='" + yzbm + '\'' +
                ", lxr='" + lxr + '\'' +
                ", gddh='" + gddh + '\'' +
                ", yddh='" + yddh + '\'' +
                ", cz='" + cz + '\'' +
                ", jgsx='" + jgsx + '\'' +
                ", jgjj='" + jgjj + '\'' +
                ", jsxqmc='" + jsxqmc + '\'' +
                '}';
    }
}
复制代码

servlet

复制代码
package com.example.tech.servlet;

import bean.Pojo;
import com.example.tech.dButils.HbaseCRUD;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.sql.SQLException;

import java.io.IOException;
import java.util.ArrayList;

public class TechServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        String action = request.getParameter("action");
        HbaseCRUD hbaseCRUD = new HbaseCRUD();
        String jgmc = request.getParameter("jgmc");
        String gkglbm = request.getParameter("gkglbm");
        String txdz = request.getParameter("txdz");
        String szdy = request.getParameter("szdy");
        String dwwz = request.getParameter("dwwz");
        String dzyx = request.getParameter("dzyx");
        String frdb = request.getParameter("frdb");
        String yzbm = request.getParameter("yzbm");
        String lxr = request.getParameter("lxr");
        String gddh = request.getParameter("gddh");
        String yddh = request.getParameter("yddh");
        String cz = request.getParameter("cz");
        String jgsx = request.getParameter("jgsx");
        String jgjj = request.getParameter("jgjj");
        String jsxqmc = request.getParameter("jsxqmc");
        String Id = request.getParameter("jsxqmc");
        if(action.equals("add")){
            String[] cols=new String[]{"Id","jgmc","gkglbm","txdz","szdy","dwwz","dzyx","frdb","yzbm","lxr",
                    "gddh","yddh","cz","jgsx","jgjj","jsxqmc"};
            hbaseCRUD.addRecord("tech",jsxqmc,cols,new String[]{Id,jgmc,gkglbm,txdz,szdy,dwwz,dzyx,frdb,yzbm,lxr,gddh,yddh,cz,jgsx,jgjj,jsxqmc});
            System.out.println(cols.toString());
            response.sendRedirect("index.jsp");
        } else if (action.equals("query")) {
            ServletContext servletContext = request.getServletContext();
            System.out.println("机构全称"+jgmc+"所在地域"+szdy+"技术需求名称"+jsxqmc);
            if(!jsxqmc.equals("")){
                Pojo techs = hbaseCRUD.scanColumn("tech",jsxqmc);
                servletContext.setAttribute("pojo",techs);
                response.sendRedirect("query.jsp");
            } else if (!jgmc.equals("")&&!yzbm.equals("")) {
                ArrayList<Pojo> techs = hbaseCRUD.scanAll("tech", jgmc);
                ArrayList<Pojo> techs1 = new ArrayList<>();
                for (int i = 0;i< techs.size();i++){
                    if(yzbm.equals(techs.get(i).getYzbm())){
                        techs1.add(techs.get(i));
                    }
                }
                servletContext.setAttribute("pojos",techs1);
                response.sendRedirect("query.jsp");
            }
        }
    }
}
复制代码

前台页面

复制代码
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="layui/css/layui.css">
    <script src="layui/layui.js"></script>
    <title>重大技术征集</title>
    <base href="http://localhost:8080/tech/">
    <style type="text/css">
    </style>
</head>
<body>
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo layui-hide-xs layui-bg-green">河北省重大技术征集系统</div>
        <!-- 头部区域(可配合layui 已有的水平导航) -->
        <ul class="layui-nav layui-layout-left">
            <!-- 移动端显示 -->
            <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-header-event="menuLeft">
                <i class="layui-icon layui-icon-spread-left"></i>
            </li>

            <li class="layui-nav-item layui-hide-xs"><a href=""></a></li>
            <li class="layui-nav-item layui-hide-xs"><a href=""></a></li>
            <li class="layui-nav-item layui-hide-xs"><a href=""></a></li>
            <li class="layui-nav-item">
                <a href="javascript:;"></a>
                <dl class="layui-nav-child">
                    <dd><a href=""></a></dd>
                    <dd><a href=""></a></dd>
                    <dd><a href=""></a></dd>
                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-md-inline-block">
                <a href="javascript:;">
                    <img src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg" class="layui-nav-img">
                    Rensaihang
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="">Your Profile</a></dd>
                    <dd><a href="">Settings</a></dd>
                    <dd><a href="">Sign out</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a href="javascript:;">
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
            <ul class="layui-nav layui-nav-tree" lay-filter="test">
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">技术需求管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="index.jsp">添加</a></dd>
                        <dd><a href="query.jsp">查询</a></dd>
                        <dd><a href="">修改</a></dd>
                        <dd><a href=""></a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;"></a>
                    <dl class="layui-nav-child">
                        <dd><a href="javascript:;"></a></dd>
                        <dd><a href="javascript:;"></a></dd>
                        <dd><a href=""></a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a href="javascript:;"></a></li>
                <li class="layui-nav-item"><a href=""></a></li>
            </ul>
        </div>
    </div>

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div style="padding: 15px;">
            <form action="techServlet?action=add" class="layui-form" method="post">
                <div class="layui-form-item">
                    <label class="layui-form-label">*机构全称</label>
                    <div class="layui-input-inline">
                        <input type="text" name="jgmc" required  lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">归口管理部门</label>
                    <div class="layui-input-inline">
                        <input type="text" name="gkglbm" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">通信地址</label>
                    <div class="layui-input-inline">
                        <input type="text" name="txdz" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">所在地域</label>
                    <div class="layui-input-inline">
                        <input type="text" name="szdy" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">网址</label>
                    <div class="layui-input-inline">
                        <input type="text" name="dwwz" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">电子邮箱</label>
                    <div class="layui-input-inline">
                        <input type="text" name="dzyx" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">邮政编码</label>
                    <div class="layui-input-inline">
                        <input type="text" name="yzbm" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">法人代表</label>
                    <div class="layui-input-inline">
                        <input type="text" name="frdb" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">联系人</label>
                    <div class="layui-input-inline">
                        <input type="text" name="lxr" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">固定电话</label>
                    <div class="layui-input-inline">
                        <input type="text" name="gddh" class="layui-input">
                    </div>
                    <label class="layui-form-label">移动电话</label>
                    <div class="layui-input-inline">
                        <input type="text" name="yddh" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">传真</label>
                    <div class="layui-input-block">
                        <input type="text" name="cz" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">机构属性</label>
                    <div class="layui-input-block">
                        <input type="radio" name="jgsx" value="企业" title="企业">
                        <input type="radio" name="jgsx" value="高等院校" title="高等院校">
                        <input type="radio" name="jgsx" value="研究机构" title="研究机构">
                        <input type="radio" name="jgsx" value="其他" title="其他">
                    </div>
                </div>
                <div class="layui-form-item layui-form-text">
                    <label class="layui-form-label">机构简介</label>
                    <div class="layui-input-block">
                        <textarea name="jgjj" placeholder="机构简介(单位基本情况,研究基础等,限500字)" class="layui-textarea"></textarea>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">技术需求名称</label>
                    <div class="layui-input-block">
                        <input type="text" name="jsxqmc" required lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button type="submit" class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                        <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
    <script>
        //Demo
        layui.use('form', function(){
            var form = layui.form;
            //提交
            form.on('submit(formDemo)', function(data){

            });
        });
    </script>
    <div class="layui-footer">
        <!-- 底部固定区域 -->
        请认真填写表单
    </div>
</div>

<script>
    //JS
    layui.use(['element', 'layer', 'util'], function(){
        var element = layui.element
            ,layer = layui.layer
            ,util = layui.util
            ,$ = layui.$;

        //头部事件
        util.event('lay-header-event', {
            //左侧菜单事件
            menuLeft: function(othis){
                layer.msg('展开左侧菜单的操作', {icon: 0});
            }
            ,menuRight: function(){
                layer.open({
                    type: 1
                    ,content: '<div style="padding: 15px;">处理右侧面板的操作</div>'
                    ,area: ['260px', '100%']
                    ,offset: 'rt' //右上角
                    ,anim: 5
                    ,shadeClose: true
                });
            }
        });

    });
</script>
</body>
</html>

<%@ page import="bean.Pojo" %>
<%@ page import="java.util.ArrayList" %>
Created by IntelliJ IDEA.
  User: 15251
  Date: 2022/9/22
  Time: 10:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <link rel="stylesheet" href="layui/css/layui.css">
    <script src="layui/layui.js"></script>
    <title>重大技术征集</title>
    <base href="http://localhost:8080/tech/">
    <style type="text/css">
    </style>
</head>
<body>
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo layui-hide-xs layui-bg-green">河北省重大技术征集系统</div>
        <!-- 头部区域(可配合layui 已有的水平导航) -->
        <ul class="layui-nav layui-layout-left">
            <!-- 移动端显示 -->
            <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-header-event="menuLeft">
                <i class="layui-icon layui-icon-spread-left"></i>
            </li>

            <li class="layui-nav-item layui-hide-xs"><a href=""></a></li>
            <li class="layui-nav-item layui-hide-xs"><a href=""></a></li>
            <li class="layui-nav-item layui-hide-xs"><a href=""></a></li>
            <li class="layui-nav-item">
                <a href="javascript:;"></a>
                <dl class="layui-nav-child">
                    <dd><a href=""></a></dd>
                    <dd><a href=""></a></dd>
                    <dd><a href=""></a></dd>
                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-md-inline-block">
                <a href="javascript:;">
                    <img src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg" class="layui-nav-img">
                    Rensaihang
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="">Your Profile</a></dd>
                    <dd><a href="">Settings</a></dd>
                    <dd><a href="">Sign out</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a href="javascript:;">
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
            <ul class="layui-nav layui-nav-tree" lay-filter="test">
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">技术需求管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="index.jsp">添加</a></dd>
                        <dd><a href="query.jsp">查询</a></dd>
                        <dd><a href="">修改</a></dd>
                        <dd><a href=""></a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;"></a>
                    <dl class="layui-nav-child">
                        <dd><a href="javascript:;"></a></dd>
                        <dd><a href="javascript:;"></a></dd>
                        <dd><a href=""></a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a href="javascript:;"></a></li>
                <li class="layui-nav-item"><a href=""></a></li>
            </ul>
        </div>
    </div>

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div style="padding: 15px;">
            <form action="techServlet?action=query" class="layui-form" method="post">
                <div class="layui-form-item">
                    <label class="layui-form-label">*机构全称</label>
                    <div class="layui-input-inline">
                        <input type="text" name="jgmc"  placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">所在地域</label>
                    <div class="layui-input-inline">
                        <input type="text" name="szdy"  placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">技术需求名称</label>
                    <div class="layui-input-inline">
                        <input type="text" name="jsxqmc" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>

                <div class="layui-form-item">
                    <label class="layui-form-label">归口管理部门</label>
                    <div class="layui-input-inline">
                        <input type="text" name="jsxqmc" placeholder="" autocomplete="off" class="layui-input">
                    </div>
                    <label class="layui-form-label">邮政编码</label>
                    <div class="layui-input-inline">
                        <input type="text" name="yzbm"  placeholder="" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                        <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                    </div>
                </div>
            </form>

            <div>
                <table class="layui-table">
                    <colgroup></colgroup>
                    <thead>
                    <th>机构全称</th>
                    <th>归口管理部门</th>
                    <th>通信地址</th>
                    <th>所在地域</th>
                    <th>网址</th>
                    <th>电子邮箱</th>
                    <th>邮政编码</th>
                    <th>法人代表</th>
                    <th>联系人</th>
                    <th>固定电话</th>
                    </thead>
                    <%
                        ServletContext servletContext = request.getServletContext();
                        Pojo pojo1 = (Pojo)servletContext.getAttribute("pojo");
                        ArrayList<Pojo> pojos = (ArrayList<Pojo>) servletContext.getAttribute("pojos");
                        System.out.println(pojos);
                        if(pojos!=null){
                            for(int i = 0;i < pojos.size();i++){
                                Pojo pojo = pojos.get(i);
                    %>
                    <tr>
                    <td><%=pojo.getJgmc()%></td>
                    <td><%=pojo.getGkglbm()%></td>
                    <td><%=pojo.getTxdz()%></td>
                    <td><%=pojo.getSzdy()%></td>
                    <td><%=pojo.getDwwz()%></td>
                    <td><%=pojo.getDzyx()%></td>
                    <td><%=pojo.getYzbm()%></td>
                    <td><%=pojo.getFrdb()%></td>
                    <td><%=pojo.getLxr()%></td>
                    <td><%=pojo.getGddh()%></td>
                    </tr>
                    <%
                        }}
                        if(pojo1!=null){
                    %>
                    <tr>
                        <td><%=pojo1.getJgmc()%></td>
                        <td><%=pojo1.getGkglbm()%></td>
                        <td><%=pojo1.getTxdz()%></td>
                        <td><%=pojo1.getSzdy()%></td>
                        <td><%=pojo1.getDwwz()%></td>
                        <td><%=pojo1.getDzyx()%></td>
                        <td><%=pojo1.getYzbm()%></td>
                        <td><%=pojo1.getFrdb()%></td>
                        <td><%=pojo1.getLxr()%></td>
                        <td><%=pojo1.getGddh()%></td>
                    </tr>
<                   <%}%>
                </table>
            </div>-
        </div>
    </div>
    <script>
        //Demo
        layui.use('form', function(){
            var form = layui.form;
            //提交
            form.on('submit(formDemo)', function(data){

            });
        });
    </script>
    <div class="layui-footer">
        <!-- 底部固定区域 -->
        请认真填写表单
    </div>
</div>

<script>
    //JS
    layui.use(['element', 'layer', 'util'], function(){
        var element = layui.element
            ,layer = layui.layer
            ,util = layui.util
            ,$ = layui.$;

        //头部事件
        util.event('lay-header-event', {
            //左侧菜单事件
            menuLeft: function(othis){
                layer.msg('展开左侧菜单的操作', {icon: 0});
            }
            ,menuRight: function(){
                layer.open({
                    type: 1
                    ,content: '<div style="padding: 15px;">处理右侧面板的操作</div>'
                    ,area: ['260px', '100%']
                    ,offset: 'rt' //右上角
                    ,anim: 5
                    ,shadeClose: true
                });
            }
        });

    });
</script>
</body>
</html>
复制代码

 

posted @   几人著眼到青衫  阅读(181)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示