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:
- jdk 8
- intellij idea
- tomcat 8.5.40
- mysql 5.7
Technology used:
- jsp+servlet
- js+ajax
- layUi
- jdbc direct connection
Project visit address
http://localhost:8090
Project structure
Project screenshot
-
registered
- System Management
- Add/modify users
-
Official Party Member Information
-
Announcement management
- File management
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