それを好きでもう一度見て、習慣を身につける
プロジェクトの紹介
パーティ情報管理システムはjsp + servletで構築され、mysqlはデータサポートに使用され、jspはフロントエンドデータレンダリングに使用され、さまざまな役割や条件なしでクエリを実行し、対応するページとデータを表示します。このシステムは、大学の党情報管理に適用され、現在、個人管理、システム管理、支店情報管理、党活動家情報、候補党員情報、公式党員情報、党費情報、発表管理、文書管理などの機能を時間とともに実現している。さらなる改善が行われています。
対象者
プロジェクトの完全なセットを実行している学生、または実践的なプロジェクトの練習を必要とするJava学習者
開発環境:
- jdk 8
- インテリジアイデア
- Tomcat 8.5.40
- mysql 5.7
使用した技術:
- jsp + servlet
- js + ajax
- layUi
- jdbc直接接続
プロジェクト訪問アドレス
http://localhost:8090
プロジェクト構造
プロジェクトのスクリーンショット
-
登録済み
- システムマネジメント
- ユーザーの追加/変更
-
公式パーティーメンバー情報
-
アナウンス管理
- ファイル管理
キーコード:
1.初期化作業
//数据库连接初始化
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.パーティー料金情報サーブレット
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.ファイルのダウンロード
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();
}
プロジェクトのフォローアップ
その他のssh、ssm、springbootバージョンのフォローアップの反復更新、引き続き注意を払う