Java项目:jsp+servlet高校社团管理系统

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

功能简介

高校社团管理系统分为前后台,角色分为三种:管理员、社长、普通社员。

超级管理员角色包含以下功能:会员管理,物品管理,活动审批,系统用户管理,社团添加删除等功能。

社长角色包含以下功能:社团管理员登录,会员管理,物品管理,活动管理,查询社团信息,密码修改等功能。

普通社员角色包含以下功能:社员登录,申请入社,物品查看,活动申请等功能。


前台主要是展示社团列表、社团风采、社团活动、新闻列表
前台登录后进入个人中心,在个人中心能申请加入社团、查看参加的社团活动等
后台为管理员与社长使用,应用于对社团的管理及内容发布等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 8.0版本;

使用技术

使用技术:servlet+jsp+mysql 8.0

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;注:数据库使用mysql 8.0,注意版本要匹配,否则可能会产生连接异常的情况,
2. 将项目中db.properties配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

前台地址:http://localhost:8080/team/front/login.jsp
普通社员账号:苏c  密码:123 

后台地址:http://localhost:8080/team/mui/login.jsp
管理员账号:sys  密码:123456
社长账号:苏悲   密码:123456

运行截图

前台界面

 后台界面

相关代码 

DownloadController

package com.so.system.controller;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class DownloadController
 */
@WebServlet(name = "download", urlPatterns = { "/download" })
public class DownloadController extends HttpServlet {
	private static final long serialVersionUID = 1L;
	// 字符编码

	private final String ENCODING = "GB2312";

	// 内容类型

	private final String CONTENT_TYPE = "text/html;charset=gb2312";

	// 要下载的文件存放的路径

	private String downloadfiledir = "d:\\temp\\";

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		String realPath = request.getSession().getServletContext().getRealPath("");
		// 设置request对象的字符编码

		request.setCharacterEncoding(ENCODING);

		// 从request中取出要下载文件的名字

		String filename = request.getParameter("filename");

		if (filename == null || filename.trim().equals("")) {

			// 设置response对象的ContentType

			response.setContentType(CONTENT_TYPE);

			// 输出错误信息

			PrintWriter out = response.getWriter();

			out.println("<font color=red>输入的文件名无效!</font>");

			out.close();

		} else {

			// 下载文件的完整路径名

			String fullfilename = realPath + filename;

			System.out.println("下载文件:" + fullfilename);

			// 根据文件的类型设置response对象的ContentType

			String contentType = getServletContext().getMimeType(fullfilename);

			if (contentType == null)

				contentType = "application/octet-stream";

			response.setContentType(contentType);

			// 设置response的头信息

			response.setHeader("Content-disposition", "attachment;filename=\"" + filename + "\"");

			InputStream is = null;

			OutputStream os = null;

			try {

				is = new BufferedInputStream(new FileInputStream(fullfilename));

				// 定义输出字节流

				ByteArrayOutputStream baos = new ByteArrayOutputStream();

				// 定义response的输出流

				os = new BufferedOutputStream(response.getOutputStream());

				// 定义buffer

				byte[] buffer = new byte[4 * 1024]; // 4k Buffer

				int read = 0;

				// 从文件中读入数据并写到输出字节流中

				while ((read = is.read(buffer)) != -1) {

					baos.write(buffer, 0, read);

				}

				// 将输出字节流写到response的输出流中

				os.write(baos.toByteArray());

			} catch (IOException e) {

				e.printStackTrace();

			} finally {
				// 关闭输出字节流和response输出流
				os.close();
				is.close();

			}
		}
	}

}

 如果也想学习本系统,下面领取。关注并回复:001jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值