jsp牛刀小试之在线报名系统

jsp牛刀小试在线报名系统

首先,我们需要按照需求确定我们要做的报名系统的功能。即,我们只完成以下三个简单功能:

  • 在线注册
  • 查询报名详情
  • 导出excel

其次,确定我们项目中所涉及的对象及关系。在这里,我们只有两个对象,一个为报名人员,一个为管理人员。根据这两个对象和报名所用到的信息,我们设计如下对象
我们把所有的对象都放在po包下,不要忘记自动生成get、set方法,重写toString()和构造方法。

package com.bzucsdn.po;
public class Member {
    public String name;
    public String grade;
    public String department;
    public String classes;
    public String phone;
    public String qq;
    public String email;
    public String remarks;
}

package com.bzucsdn.po;
public class Admin{
    public String name;
    public String password;
}

接下来,根据我们的对象,设计数据库

create table member(
id int primary key,
name char(20),
grade char(6),
department char(10),
classes char(10),
phone char(11),
qq char(12),
email char(20),
remarks char(200)
);
create table admin(
aname char(10),
apassword char(20)
);

实现注册报名,我们需要把人员信息存入到数据库,查询信息,我们需要把信息从数据库中取出来,下面我们就完成这两个数据库操作。
我们这里对数据库的操作用到了dbutil工具

  • 首先,在util包中对数据库的连接关闭操作做好封装
package com.bzucsdn.util;

import java.sql.Connection;
import java.sql.DriverManager;
import org.apache.commons.dbutils.DbUtils;

public class DBUtil {
   
    //0定义组件
        private static Connection conn=null;
        private static String strUserName="root";
        private static String strPassword="yourPassWord";
        private static String strUrl="jdbc:mysql://127.0.0.1:3306/bzucsdn?characterEncoding=utf8";

        //获取链接
        public static Connection getConnection() {
            DbUtils.loadDriver("com.mysql.jdbc.Driver");
            if (conn==null) {
                try {
                    conn=DriverManager.getConnection(strUrl, strUserName, strPassword);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return null;
                }
            }
            return conn;
        }

        //关闭链接
        public static  void closeConnection() {
            try {
                if (!conn.isClosed()) {
                    conn.close();
                }
                if (conn!=null) {
                    conn=null;
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

}
  • 其次,在dao包中,完成对数据库的操作
//首先是member的操作
package com.bzucsdn.dao;

import java.math.BigInteger;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapHandler;
import com.bzucsdn.po.Member;
import com.bzucsdn.util.DBUtil;

public class memberDao {
   
    private QueryRunner qr=null;
    private String strSql="";
    private int intResult=-1;
    public memberDao(){
        qr=new QueryRunner();
    }

    public int memberInsert(Member mbr) {
        // TODO Auto-generated method stub
        Connection conn = DBUtil.getConnection();
        int i=1;
        BigInteger id=new BigInteger("0") ;

        try {
            strSql = "select LAST_INSERT_ID()";
            Map<String, Object> map = qr.query(conn, strSql, new MapHandler());
            id = (BigInteger)map.get("LAST_INSERT_ID()");
            strSql = "insert into member (name,grade,department,classes,phone,qq,email,remarks) values(?,?,?,?,?,?,?,?)";
            Object[] parms = {mbr.getName(),mbr.getGrade(),mbr.getDepartment(),mbr.getClasses(),mbr.getPhone(),mbr.getQq(),mbr.getEmail(),mbr.getBeizhu()};
            i = qr.update(conn, strSql, parms);
            DBUtil.closeConnection();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return 1;
        }
        return 0;
    }
}


//其次是admin的操作
package com.bzucsdn.dao;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;
import com.bzucsdn.util.DBUtil;

public class adminDao {
   

    private QueryRunner qr=null;
    private String strSql="";
    public adminDao(){
        qr=new QueryRunner();
    }

    public List<Map<String, Object>> getAllMember() {

        strSql="select * from member ";
        List<Map<String, Object>>  map=null;
        try {
            map = qr.query(DBUtil.getConnection(), strSql, new MapListHandler());

            DBUtil.closeConnection();
            return map;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        DBUtil.closeConnection();
        return map;
    }
}

这样就完成了对数据库的操作。那么接下来,就是需要完成servlet的功能了
同样我们把所有的web-api功能都放到servlet包下

  • 首先是member的操作
package com.bzucsdn.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值