基于javaweb的JSP+Servlet高校学生会社团管理系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

前台:用户注册登陆、个人中心的管理(成立社团、加入的社团、申请加入社团、申请加入活动等)、社团列表、社团风采、社团活动、新闻列表以及留言板功能;

后台管理页面主要有:注册登陆、个人中心、系统管理(用户管理、角色管理、菜单管理、新闻管理、留言管理)、社团管理(财务管理、社团列表、社团风采、社团活动、活动申请、学生管理、社团申请)等几大块

280123132502

562024533108

前台

060123132502

070123132502

090123132502

100123132502

110123132502

120123132502

130123132502

140123132502

150123132502

160123132502

170123132502

后台:

180123132502

200123132502

210123132502

220123132502

230123132502

240123132502

250123132502

260123132502

270123132502

技术框架

JSP Servlet MySQL JDBC Tomcat CSS JavaScript jstl

基于javaweb的JSP+Servlet高校学生会社团管理系统(前台、后台)(java+jsp+servlet+javabean+mysql+tomcat)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
}

if ("acEndTime".endsWith(name)) {
if (StringUtils.isNotEmpty(item.getString("UTF-8"))) {
siteNews.setAcEndTime(Timestamp.valueOf(item.getString("UTF-8")));
}else {
siteNews.setAcEndTime(new Date());
}

}

if ("isCanApply".endsWith(name)) {
siteNews.setIsCanApply(item.getString("UTF-8"));

}

}else{//如果fileitem中封装的是上传文件
//得到上传的文件名称,
String filename = item.getName();
System.out.println(filename);
if(filename==null || filename.trim().equals("")){
continue;
}
//注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如: c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
//处理获取到的上传文件的文件名的路径部分,只保留文件名部分
filename = filename.substring(filename.lastIndexOf("\\")+1);
String suffix = filename.substring(filename.lastIndexOf("."));
filename=String.valueOf(System.currentTimeMillis()+suffix);

//获取item中的上传文件的输入流
InputStream in = item.getInputStream();
//创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
//创建一个缓冲区
byte buffer[] = new byte[1024];
//判断输入流中的数据是否已经读完的标识
int len = 0;
//循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
while((len=in.read(buffer))>0){
//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
out.write(buffer, 0, len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//删除处理文件上传时生成的临时文件
item.delete();
msg = "文件上传成功!";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
                   //创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
//创建一个缓冲区
byte buffer[] = new byte[1024];
//判断输入流中的数据是否已经读完的标识
int len = 0;
//循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
while((len=in.read(buffer))>0){
//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
out.write(buffer, 0, len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//删除处理文件上传时生成的临时文件
item.delete();
msg = "文件上传成功!";

siteNews.setPic(request.getContextPath()+"/upload" + "/" + filename);
}
}
if (siteNews.getId()!=null && !"".equals(siteNews.getId())) {
siteNewsService.update(siteNews);
}else{
String username = CurrentUserUtils.getCurrentUser(request).getUsername();
siteNews.setCreateUser(username);
siteNewsService.add(siteNews);
}
response.sendRedirect(contextPath+"/siteNews?method=list&newsType="+siteNews.getNewsType());
}catch (Exception e) {
msg= "文件上传失败!";
e.printStackTrace();
request.setAttribute("msg",msg);
request.getRequestDispatcher("/views/team/siteNewsForm.jsp").forward(request, response);
}
}

//删除
private void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@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 {

// 下载文件的完整路径名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
              String filename = item.getName();
System.out.println(filename);
if(filename==null || filename.trim().equals("")){
continue;
}
//注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如: c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
//处理获取到的上传文件的文件名的路径部分,只保留文件名部分
filename = filename.substring(filename.lastIndexOf("\\")+1);
String suffix = filename.substring(filename.lastIndexOf("."));
filename=String.valueOf(System.currentTimeMillis()+suffix);


//获取item中的上传文件的输入流
InputStream in = item.getInputStream();
//创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
//创建一个缓冲区
byte buffer[] = new byte[1024];
//判断输入流中的数据是否已经读完的标识
int len = 0;
//循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
while((len=in.read(buffer))>0){
//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
out.write(buffer, 0, len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//删除处理文件上传时生成的临时文件
item.delete();
msg = "文件上传成功!";

user.setPic(request.getContextPath()+"/upload" + "/" + filename);
}
}
if (user.getId()!=null && !"".equals(user.getId())) {
user.setPassword(userService.getById(user.getId()).getPassword());
userService.update(user);
}else{
userService.add(user);
}
response.sendRedirect(contextPath+"/user?method=list");
}catch (Exception e) {
msg= "文件上传失败!";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
		request.getRequestDispatcher("/views/team/teamsList.jsp").forward(request, response);
}

//form跳转页面
private void form(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
Teams teams = new Teams();
if (id!=null && id!="") {
teams = teamsService.getById(id);
}
request.setAttribute("teams", teams);
request.getRequestDispatcher("/views/team/teamsForm.jsp").forward(request, response);
}

}
package com.so.team.controller;




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
			teamApplay = teamApplayService.getById(id);
}
request.setAttribute("teamApplay", teamApplay);
request.getRequestDispatcher("/views/team/teamApplayForm.jsp").forward(request, response);
}

}
package com.so.team.controller;





@WebServlet("/message")
public class MessageController extends HttpServlet {
private static final long serialVersionUID = 1L;

private String contextPath = "";

MessageDao messageDao=new MessageDao();
MessageService messageService = new MessageServiceImpl();

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

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
contextPath = request.getServletContext().getContextPath();
String method = request.getParameter("method");


项目链接:
https://javayms.github.io?id=322221280905102as
https://javayms.pages.dev?id=322221280905102as