校园社团活动管理系统(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分。)

 

代码:

1:

package Class;
public class Class1 {
	private String zhuti;
	private String mudi;
	private String leixing;
	private String shijian;
	private String didian;
	private String duixiang;
	private String neirong;
	private String anpai;
	public String getZhuti() {
		return zhuti;
	}
	public void setZhuti(String zhuti) {
		this.zhuti = zhuti;
	}
	public String getMudi() {
		return mudi;
	}
	public void setMudi(String mudi) {
		this.mudi = mudi;
	}
	public String getLeixing() {
		return leixing;
	}
	public void setLeixing(String leixing) {
		this.leixing = leixing;
	}
	public String getShijian() {
		return shijian;
	}
	public void setShijian(String shijian) {
		this.shijian = shijian;
	}
	public String getDidian() {
		return didian;
	}
	public void setDidian(String didian) {
		this.didian = didian;
	}
	public String getDuixiang() {
		return duixiang;
	}
	public void setDuixiang(String duixiang) {
		this.duixiang = duixiang;
	}
	public String getNeirong() {
		return neirong;
	}
	public void setNeirong(String neirong) {
		this.neirong = neirong;
	}
	public String getAnpai() {
		return anpai;
	}
	public void setAnpai(String anpai) {
		this.anpai = anpai;
	}}

2.

package DAO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import Class.Class1;
import com.tao.dao.BaseDao;
public class DAO1 extends BaseDao {


			Class1 bean=new Class1();
		public  void insert(Class1 bean) throws SQLException  {
		    super.connect();
			String sql="insert into 2021test(zhuti,mudi,leixing,shijian,didian,duixiang,neirong,anpai) value(?,?,?,?,?,?,?,?)";
			 pstmt=conn.prepareStatement(sql);
			pstmt.setString(1,bean.getZhuti());
			pstmt.setString(2,bean.getMudi());
			pstmt.setString(3,bean.getLeixing());
			pstmt.setString(4,bean.getShijian());
			pstmt.setString(5,bean.getDidian());
			pstmt.setString(6,bean.getDuixiang());
			pstmt.setString(7,bean.getNeirong());
			pstmt.setString(8,bean.getAnpai());
			pstmt.executeUpdate();
			super.closeAll();
			}
		public void select(Class1 bean)throws SQLException  {

			 super.connect();
			 String sql="select * from 2021test ";
			 pstmt=conn.prepareStatement(sql);
			 pstmt.executeQuery();
			 while(rs.next()) {
				 rs.getString("zhuti");
			      rs.getString("mudi") ;
			      rs.getString("leixing");
			     rs.getString("shijian") ;
			      rs.getString("didian") ;
			      rs.getString("duixiang") ;
			      rs.getString("neirong") ;
			      rs.getString("anpan") ;
			 }
			 super.closeAll();


		}
}

3.

package com.tao.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;public class BaseDao {
	protected Connection conn = null;
	protected Statement stmt = null;
	protected ResultSet rs = null;
	protected String url = "jdbc:mysql://localhost:3306/db1?characterEncoding=utf-8";
	protected String name = "root";
	protected String password = "wei954698042";
	protected PreparedStatement pstmt=null;

	public void connect(){
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(url, "root", "wei954698042");
			stmt = conn.createStatement();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	public void closeAll(){
		try {
			if (rs != null) {
				rs.close();
			}
			if (stmt != null) {
				stmt.close();
			}
			if (conn != null) {
				conn.close();
			}
			if(pstmt!=null){
				pstmt.close();
			}
		}catch(Exception e) {

		}
	}
}

jsp文件:

yemian.jsp  //该项目的主页面(菜单)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<h1>校园社团活动管理系统</h1>
<body><form name="form1" method="post" action="peopledengji.jsp">
<input type="submit"  value="发布活动信息">
</form><form name="form1" method="post" action="xiugaiqianduan.jsp">
    <input type="submit" value="修改活动信息" />
 </form> 

<form name="form1" method="post" action="shanchuqianduan.jsp">
    <input type="submit" value="删除活动信息" />
   </form>  

 <form name="form1" method="post" action="peoplechaxun.jsp">   
    <input type="submit" value="查询活动信息" />
</form>
</body>
</html> 
houtai.jsp  //主要作用为往数据库导入活动信息,显示数据库的信息到浏览页面
<%@ page language="java" import="java.sql.Connection" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%request.setCharacterEncoding("UTF-8");%> 
 <%@ page import="java.sql.*" %>
 <%@page import="Class.Class1"%>
<%@page import="DAO.DAO1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<%
String zhuti = request.getParameter("zhuti");
String mudi = request.getParameter("mudi");
String leixing = request.getParameter("leixing");
String shijian = request.getParameter( "shijian");
String didian = request.getParameter("didian");
String duixiang = request.getParameter("duixiang");
String neirong = request.getParameter("neirong");
String anpai = request.getParameter("anpai");Class1 bean = new Class1();
bean.setZhuti(zhuti);
bean.setMudi(mudi);
bean.setLeixing(leixing);
bean.setShijian(shijian);
bean.setDidian(didian);
bean.setDuixiang(duixiang);
bean.setNeirong(neirong);
bean.setAnpai(anpai);
DAO1 udao=new DAO1();
udao.insert(bean);%>
<body>
<table border="1" align="center">
   <tr>
      <th>活动主题</th>
      <th>活动目的</th>
      <th>活动类型</th>
      <th>活动时间</th>
      <th>活动地点</th>
      <th>活动对象</th>
       <th>活动内容</th>
        <th>活动日程安排</th>
   </tr>
   <%
     String driverClass="com.mysql.jdbc.Driver";
     String url="jdbc:mysql://localhost:3306/db1?characterEncoding=utf-8";
     String user="root";
     String password="wei954698042";
     Connection conn;
     try{
    	 Class.forName(driverClass);
    	 conn=DriverManager.getConnection(url, user, password);
    	 Statement stmt=conn.createStatement();
    	 String sql="select * from 2021test";
    	 ResultSet rs=stmt.executeQuery(sql);
    	 while(rs.next()){
   %>
   <tr>
      <td><%=rs.getString("zhuti") %></td>
      <td><%=rs.getString("mudi") %></td>
      <td><%=rs.getString("leixing") %></td>
      <td><%=rs.getString("shijian") %></td>
      <td><%=rs.getString("didian") %></td>
      <td><%=rs.getString("duixiang") %></td>
      <td><%=rs.getString("neirong") %></td>
      <td><%=rs.getString("anpai") %></td>
   </tr>
   <%
    	 }
     }catch (Exception ex){
    	 ex.printStackTrace();

     }
   %>
</table></body>
</html>