How to write the party member system, Java brother will teach you

Like it and look again, develop a habit

Project Introduction

The party information management system is built with jsp+servlet, mysql is used for data support, and jsp is used for front-end data rendering, to achieve query without different roles and conditions, and display the corresponding pages and data. This system is applied to the party information management of colleges and universities, and currently has realized the functions of personal management, system management, branch information management, party activist information, candidate party member information, official party member information, party fee information, announcement management, document management, etc., and there is time Further improvements are being made.

Applicable people

Students who are doing a complete set of projects, or Java learners who need practical project practice

Development environment:

  1. jdk 8
  2. intellij idea
  3. tomcat 8.5.40
  4. mysql 5.7

Technology used:

  1. jsp+servlet
  2. js+ajax
  3. layUi
  4. jdbc direct connection

Project visit address

http://localhost:8090

Project structure

How to write the party member system, Java brother will teach you

Project screenshot

  • registered
    How to write the party member system, Java brother will teach you

  • System Management

How to write the party member system, Java brother will teach you

  • Add/modify users

How to write the party member system, Java brother will teach you

  • Official Party Member Information
    How to write the party member system, Java brother will teach you

  • Announcement management
    How to write the party member system, Java brother will teach you

  • File management
    How to write the party member system, Java brother will teach you

Key code:

1. Initialization work

//数据库连接初始化
public Connection getConnection() {
    Connection conn = null;
    String sDBDriver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/schooldb?useUnicode=true&characterEncoding=utf8";
    try {
        //加载数据库驱动
        Class.forName(sDBDriver);
        //获取数据库链接 -账号-密码
        conn = DriverManager.getConnection(url, "root", "root123");
        return conn;
    } catch (Exception e) {
        e.printStackTrace();
        System.err.println("数据库驱动注册错误信息: " + e.getMessage());
    }
    return conn;
}

2. Party fee information Servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try {
        String mtype = request.getParameter("mtype");
        String url = "";
        DangfeiDao dangfeiDao = new DangfeiDao();
        /**
         * 添加党费信息
         */
        if ("add".equals(mtype)) {
            TDangfei dangfei = new TDangfei();
            dangfei.setTypeid(request.getParameter("typeid"));
            dangfei.setClassname(request.getParameter("classname"));
            dangfei.setDangfei(request.getParameter("dangfei"));
            dangfei.setDangtype(request.getParameter("dangtype"));
            dangfei.setShouyear(request.getParameter("shouyear"));
            dangfei.setTypename(request.getParameter("typename"));
            dangfei.setUsername(request.getParameter("username"));
            dangfeiDao.addDangfei(dangfei);
            url = "/DangfeiServlet?mtype=query&flag=success";
            /**
             * 初始化修改党费信息界面
             */
        } else if ("preupdate".equals(mtype)) {
            request.setAttribute("dangfei", dangfeiDao.getDangfei(request.getParameter("id")));
            url = "/files/dangfei/update.jsp";

            /**
             * 修改党费信息
             */
        } else if ("update".equals(mtype)) {
            TDangfei dangfei = new TDangfei();
            dangfei.setId(Integer.parseInt(request.getParameter("id")));
            dangfei.setTypeid(request.getParameter("typeid"));
            dangfei.setClassname(request.getParameter("classname"));
            dangfei.setDangfei(request.getParameter("dangfei"));
            dangfei.setDangtype(request.getParameter("dangtype"));
            dangfei.setShouyear(request.getParameter("shouyear"));
            dangfei.setTypename(request.getParameter("typename"));
            dangfei.setUsername(request.getParameter("username"));
            dangfeiDao.updateDangfei(dangfei);
            url = "/DangfeiServlet?mtype=query";
            /**
             * 遍历党费信息
             */
        } else if ("query".equals(mtype)) {
            if (request.getSession().getAttribute("querypageunit") == null) {
                request.getSession().setAttribute("querypageunit",
                        this.pageunit);
            }
            int curpage = this.getCurrentpage(request);
            int pageunit = this.getPageunit(request, "querypageunit");

            String urlpage = "DangfeiServlet?mtype=query";
            StringBuffer cond = new StringBuffer();
            if (null != request.getParameter("searchname") && "" != request.getParameter("searchname").trim()) {
                cond.append(" and a.typename like '%" + request.getParameter("searchname").trim() + "%' ");
            }
            if (null != request.getSession().getAttribute("usertype") && !"0".equals(((String) request.getSession().getAttribute("usertype")))) {
                cond.append(" and a.typeid like '%" + (String) request.getSession().getAttribute("typeid") + "%' ");
            }
            PageInfo pageInfo = dangfeiDao.queryTDangfei(curpage,
                    pageunit, request, urlpage, cond.toString());
            request.setAttribute("pageinfo", pageInfo);
            request.setAttribute("searchname", request.getParameter("searchname"));
            url = "/files/dangfei/list.jsp";
            /**
             * 删除党费信息
             */
        } else if ("delete".equals(mtype)) {
            dangfeiDao.delDangfei(request.getParameter("id"));
            url = "/DangfeiServlet?mtype=query";
        }
        //重定向到目标地址
        RequestDispatcher dispatcher = request.getRequestDispatcher(url);
        dispatcher.forward(request, response);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

3. File download

public void doGet(HttpServletRequest request, HttpServletResponse response)throws  IOException {
    //获得请求文件名  
    request.setCharacterEncoding("ISO-8859-1");
    String filename = request.getParameter("filename");
    filename = new String(filename.getBytes("ISO-8859-1"), "UTF-8");

    //设置文件MIME类型
    response.setContentType(getServletContext().getMimeType(filename));
    //设置Content-Disposition
    response.setHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("GBK"), "ISO-8859-1"));
    //读取目标文件,通过response将目标文件写到客户端
    //获取目标文件的绝对路径

    String fullFileName = getServletContext().getRealPath("/upload/" + filename);
    //读取文件
    InputStream in = new FileInputStream(fullFileName);
    OutputStream out = response.getOutputStream();

    //写文件
    int b;
    while ((b = in.read()) != -1) {
        out.write(b);
    }

    in.close();
    out.close();
}

Project follow-up

Other ssh, ssm, springboot version follow-up iterative updates, continue to pay attention

Guess you like

Origin blog.51cto.com/14880884/2577140