课堂7


校园社团活动管理系统(20分)

 

1、项目需求:

 

校园社团作为高校课外活动的重要组成部分,发展十分迅速,也受到越来越多学生的欢迎,社团规模、数量等都在日益增长,社团活动也更为多样和丰富。然而,大多数高校还没有一个完整成熟的社团管理系统,仅仅是靠人力来管理,导致效率低下,而学生也只能通过线下或者公众号的方式了解社团,另外,社团活动的通知方式也很杂乱,并没有一个信息聚合、消息发布的平台。

 

因此,高校有必要建立一个校园社团管理系统,使得社团管理工作规范化、系统化、程序化、科学化,提高管理工作的效率。

 

2.系统要求与功能设计

 

2.1 页面功能要求

 

(1)能够在Tomcat服务器中正确部署,并通过浏览器查看;(1分)

 

(2)网站页面整体风格统一;

 

 

 

图1 活动普查系统功能结构图

 

(3)主页面:要求显示发布活动信息、修改活动信息、删除活动信息、查询活动信息,活动信息浏览五个子菜单。(1分)

 

(4)发布活动信息页面:(6分)

 

①完成添加活动信息发布,基本信息和填报限制如下表所示

 

活动主题

字符串(不超过20个汉字)

活动目的

字符串(不超过50个汉字)

活动类型

社团竞赛、野外采风、校内集会、社团纳新(单选框)

活动时间

文本框

活动地点

文本框

活动对象

社团成员、全体学生(复选框实现)

活动内容

(文本框,不超过500个汉字)

活动日程安排

(文本框,不超过500个汉字)

 

 

 

②点击“提交”按钮,保存成功则跳转到活动基本信息浏览界面,新录入的信息置顶显示。失败则提示错误信息,返回当前页面

 

评分标准:

 

① 完成活动信息发布页面(未完成0分,完成1分)

 

② 保存活动信息入库(未完成0分,完成1分)

 

③ 社团竞赛、野外采风、校内集会、社团纳新实现单选框录入1分。(未完成0分,全部完成1分)

 

④ 实现活动对象复选框录入1分。(未完成0分,完成1分)

 

⑤ 实现活动主题、活动目的、活动内容、活动日程安排的字数判断,实现三个以上得1分(未完成0分,完成1分)

 

⑥提交后页面跳转功能;(未完成0分,完成1分)

 

(5)修改活动信息页面:(3分)

 

输入活动主题,显示其余信息,可对活动目的、活动类型、活动时间、活动地点、活动对象、活动内容、活动日程安排进行修改。(活动目的、活动类型、活动时间、活动地点、活动对象、活动内容、活动日程安排必须符合录入要求);如果该活动主题数据库不存在,则提示“该活动不存在”。(3分)

 

评分标准:

 

① 完成修改活动信息页面(未完成0分,完成1分)

 

②  实现数据库中信息更新(未完成0分,完成1分)

 

③输入活动主题,显示其余信息,若该信息不存在,提示错误信息;(未完成0分,完成1分)

 

(6)删除活动信息页面:录入活动主题,显示详细信息后,点击“删除”按钮,弹出提示框,提示“是否确认删除该活动信息”,确认后删除该信息。(1分)

 

评分标准:

 

① 输入活动主题可显示其余信息。(未完成0分,完成0.5分)

 

②对应删除数据库中信息(未完成0分,完成0.5分)

 

(7)浏览活动信息页面:(2分)

 

以列表形式显示活动基本信息,结果列表中显示活动主题、活动时间,活动类型、活动对象基本信息,点击主题,可以跳转到活动详细信息,显示全部活动信息。

 

① 实现以列表形式显示活动基本信息,结果列表中显示活动主题、活动时间,活动类型、活动对象基本信息(未完成0分,完成1分)

 

②实现跳转活动详细信息页面,显示全部活动信息。(未完成0分,完成1分)

 

(8)查询活动信息页面:(3分)

 

要求根据活动主题、活动时间、活动类型、活动地点四种条件实现模糊查询,输出结果以列表形式显示,显示显示活动主题、活动时间,活动类型、活动对象基本信息,点击列表中的活动主题,跳转到活动详细信息页面。

 

评分标准:

 

①缺少一种查询条件扣除1分。(未完成0分,完成3分)

 

2.2 功能要求

 

(1)设计出合理的数据库和数据表,要求使用mysql、sqlserver、oracle三种数据库中一种(1分)

 

(2)使用Serverlet实现页面交互(1分)。

 

(3)使用Java Bean封装数据库连接操作(1分。)

Dao

public class Dao {
public int add(Active active) throws Exception {
Connection connection = jdbcUtil.getconnection();
String sql = "insert into active(zhu_ti,mu_di,lei_xing,shi_jian,di_dian,dui_xiang,nei_rong,an_pai) value(?,?,?,?,?,?,?,?)";
PreparedStatement pstmt = null;
pstmt =connection.prepareStatement(sql);

pstmt.setString(1, active.getZhu_ti());
pstmt.setString(2, active.getMu_di());
pstmt.setString(3, active.getLei_xing());
pstmt.setString(4, active.getShi_jian());
pstmt.setString(5, active.getDi_dian());
pstmt.setString(6, active.getDui_xiang());
pstmt.setString(7, active.getNei_rong());
pstmt.setString(8, active.getAn_pai());
int count = pstmt.executeUpdate();

jdbcUtil.close(connection);
jdbcUtil.close(pstmt);

return count;
}
public int del(int id) throws Exception {
Connection connection = jdbcUtil.getconnection();

String sql = "delete from active where id = ?";

PreparedStatement pstmt = null;

pstmt = connection.prepareStatement(sql);

pstmt.setInt(1, id);
int count = pstmt.executeUpdate();
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);

return count;
}
public int update(Active active) throws Exception {
Connection connection = jdbcUtil.getconnection();
String sql = "update active\n" +
"set zhu_ti = ?,\n" +
"mu_di = ?,\n" +
"lei_xing = ?,\n" +
"shi_jian = ?,\n" +
"di_dian = ?,\n" +
"dui_xiang = ?,\n" +
"nei_rong = ?, \n" +
"an_pai = ?\n" +
"where id = ?";

PreparedStatement pstmt = null;

pstmt = connection.prepareStatement(sql);
pstmt.setString(1, active.getZhu_ti());
pstmt.setString(2, active.getMu_di());
pstmt.setString(3, active.getLei_xing());
pstmt.setString(4, active.getShi_jian());
pstmt.setString(5, active.getDi_dian());
pstmt.setString(6, active.getDui_xiang());
pstmt.setString(7, active.getNei_rong());
pstmt.setString(8, active.getAn_pai());
pstmt.setInt(9, active.getId());
int count = pstmt.executeUpdate();

jdbcUtil.close(connection);
jdbcUtil.close(pstmt);

return count;
}
public List<Active> selectall() throws Exception {
Connection connection = jdbcUtil.getconnection();

String sql = "select * from active";

PreparedStatement pstmt = null;
pstmt = connection.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();

Active active = null;
List<Active> list = new ArrayList<>();
while (rs.next()) {
int id = Integer.parseInt(rs.getString("id"));
String zhu_ti = rs.getString("zhu_ti");
String mu_di = rs.getString("mu_di");
String lei_xing = rs.getString("lei_xing");
String shi_jian = rs.getString("shi_jian");
String di_dian = rs.getString("di_dian");
String dui_xiang = rs.getString("dui_xiang");
String nei_rong = rs.getString("nei_rong");
String an_pai = rs.getString("an_pai");

active = new Active(id,zhu_ti,mu_di,lei_xing,shi_jian,di_dian,dui_xiang,nei_rong,an_pai);
list.add(active);
}
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);
rs.close();
return list;
}
public Active getbyID(int id ) throws Exception {
Connection connection = jdbcUtil.getconnection();

String sql = "select * from active where id= ?";

PreparedStatement pstmt = null;
pstmt = connection.prepareStatement(sql);

Active active= null;
pstmt.setInt(1,id);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
int ID = Integer.parseInt(rs.getString("id"));
String zhu_ti = rs.getString("zhu_ti");
String mu_di = rs.getString("mu_di");
String lei_xing = rs.getString("lei_xing");
String shi_jian = rs.getString("shi_jian");
String di_dian = rs.getString("di_dian");
String dui_xiang = rs.getString("dui_xiang");
String nei_rong = rs.getString("nei_rong");
String an_pai = rs.getString("an_pai");

active = new Active(ID, zhu_ti, mu_di, lei_xing, shi_jian,di_dian, dui_xiang,nei_rong, an_pai);
}
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);
rs.close();
return active;
}
//按照姓名,模糊查询
public Active getbyzhu_ti(String zhu_ti ) throws Exception {
Connection connection = jdbcUtil.getconnection();
PreparedStatement pstmt = null;
String sql = "select * from active where zhu_ti like ? ";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, zhu_ti);

ResultSet rs = pstmt.executeQuery();
Active active = null;

while (rs.next()) {
int ID = Integer.parseInt(rs.getString("id"));
String Zhu_ti = rs.getString("zhu_ti");
String mu_di = rs.getString("mu_di");
String lei_xing = rs.getString("lei_xing");
String shi_jian = rs.getString("shi_jian");
String di_dian = rs.getString("di_dian");
String dui_xiang = rs.getString("dui_xiang");
String nei_rong = rs.getString("nei_rong");
String an_pai = rs.getString("an_pai");

active = new Active(ID,Zhu_ti, mu_di, lei_xing, shi_jian,di_dian, dui_xiang,nei_rong, an_pai);
}
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);
rs.close();
return active;
}

//返回模糊查询是否查询成功
public int getbyzhu_ti_if(String zhu_ti) throws Exception {
Connection connection = jdbcUtil.getconnection();
PreparedStatement pstmt = null;
String sql = "select * from active where zhu_ti like ? ";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, zhu_ti);

ResultSet rs = pstmt.executeQuery();
Active active = null;
int count = 0;

while (rs.next()) {
count++;
}
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);
rs.close();
return count;
}
public List<Active> cha_xun(String zhu_ti, String lei_xing, String shi_jian, String di_dian) throws Exception {
Connection connection = jdbcUtil.getconnection();
PreparedStatement pstmt = null;
String sql = "select * from active where ";
int num=0;
if (zhu_ti != "") {
sql += "zhu_ti like '%" +zhu_ti+ "%' ";
num++;
}
if (lei_xing != "") {
if(num != 0)
sql += "and lei_xing like '%" +lei_xing+ "%' ";
else
sql += " lei_xing like '%" +lei_xing+ "%' ";
num++;
}
if (shi_jian != "") {
if( num !=0 )
sql += "and shi_jian like '%" +shi_jian+ "%' ";
else
sql += " shi_jian like '%" +shi_jian+ "%' ";
num++;
}
if (di_dian != "") {
if(num != 0)
sql += "and di_dian like '%" +di_dian+ "%' ";
else
sql += " di_dian like '%" +di_dian+ "%' ";
num++;
}
if(num == 0)
{
sql = "select * from active";
}
Statement state = null;
state = connection.createStatement();
ResultSet rs = state.executeQuery(sql);
Active active = null;
List<Active> list = new ArrayList<>();
while (rs.next()) {
int ID = Integer.parseInt(rs.getString("id"));
String Zhu_ti = rs.getString("zhu_ti");
String mu_di = rs.getString("mu_di");
String lei_xing1 = rs.getString("lei_xing");
String shi_jian1 = rs.getString("shi_jian");
String di_dian1 = rs.getString("di_dian");
String dui_xiang = rs.getString("dui_xiang");
String nei_rong = rs.getString("nei_rong");
String an_pai = rs.getString("an_pai");

active = new Active(ID,Zhu_ti, mu_di, lei_xing1, shi_jian1,di_dian1, dui_xiang,nei_rong, an_pai);
list.add(active);
}
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);
rs.close();
return list;
}

public int cha_xun_if(String zhu_ti, String lei_xing, String shi_jian, String di_dian) throws Exception{
Connection connection = jdbcUtil.getconnection();
PreparedStatement pstmt = null;
String sql = "select * from active where ";
int num=0;
if (zhu_ti != "") {
sql += "zhu_ti like '%" +zhu_ti+ "%' ";
num++;
}
if (lei_xing != "") {
if(num != 0)
sql += "and lei_xing like '%" +lei_xing+ "%' ";
else
sql += " lei_xing like '%" +lei_xing+ "%' ";
num++;
}
if (shi_jian != "") {
if( num !=0 )
sql += "and shi_jian like '%" +shi_jian+ "%' ";
else
sql += " shi_jian like '%" +shi_jian+ "%' ";
num++;
}
if (di_dian != "") {
if(num != 0)
sql += "and di_dian like '%" +di_dian+ "%' ";
else
sql += " di_dian like '%" +di_dian+ "%' ";
num++;
}
if(num == 0)
{
sql = "select * from active";
}
Statement state = null;
state = connection.createStatement();
ResultSet rs = state.executeQuery(sql);
Active active = null;
List<Active> list = new ArrayList<>();
int count = 0;
while (rs.next()) {
count++;
}
jdbcUtil.close(connection);
jdbcUtil.close(pstmt);
rs.close();
return count;
}
}

posted @ 2022-10-14 14:44  权衡  阅读(33)  评论(0)    收藏  举报