• 基于Springboot实现高校社团管理系统


    项目编号:BS-XX-124

    一,项目简介

       本项目基于Springboot+Mybatis开发实现了一个高校社团管理系统,系统包含三个角色:管理员、团长、会员。管理员主要是做一些基础数据的管理,比较用户管理,新闻管理,活动审批,社团创建审批等等,会员可以申请加入相关的社团,也可自己申请社团,管理员审批通过后成为团长,可以申请开展相关的活动。团长登陆后可以审批申请加入本社团的申请信息,并管理和查看相关的社团用户信息。各角色进入均可以查看发布的新闻信息。

    二,环境介绍

    语言环境:Java:  jdk1.8

    数据库:Mysql: mysql5.7   Redis缓存数据库

    应用服务器:Tomcat:  tomcat8.5.31

    开发工具:IDEA或eclipse

    后台开发技术:Springboot+Mybatis+SpringCache缓存框架

    前端开发技术:Jquery+AjAX+JSP

    三,系统展示

    下面展示一下系统的相关功能模块:

    管理员登陆后主要操作功能

    登陆注册界面

    主界面

    查看社团活动信息

    用户管理

    社团管理

    审核 管理

    新闻管理

    团长登陆系统后

    申请创建活动

    管理本社团成员

    审核加入社团申请

    学生登陆

    申请创建社团

    申请加入社团

    四,核心代码展示

    1. package com.example.association2.controller;
    2. import com.example.association2.service.impl.ActivityServiceImpl;
    3. import com.example.association2.service.impl.AssociationMemberServiceImpl;
    4. import com.example.association2.utils.PicUtil;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.stereotype.Controller;
    7. import org.springframework.web.bind.annotation.*;
    8. import org.springframework.web.servlet.ModelAndView;
    9. import javax.servlet.http.HttpServletRequest;
    10. import javax.servlet.http.HttpSession;
    11. @Controller
    12. public class ActivityController {
    13. @Autowired
    14. private AssociationMemberServiceImpl associationMemberService;
    15. @Autowired
    16. private ActivityServiceImpl activityService;
    17. @GetMapping("/activities")//所有活动页面
    18. public String toActivities(HttpServletRequest httpServletRequest,
    19. @RequestParam(name = "key", required = true) int key) {//key判断点击的活动分类
    20. if (key == 0) {//所有活动
    21. httpServletRequest.setAttribute("activityList", activityService.findAllActivityAndName());
    22. httpServletRequest.setAttribute("key", key);
    23. } else if (key == 1) {//文体类活动
    24. httpServletRequest.setAttribute("activityList", activityService.findActivityAndNameByAssociationType(key));
    25. httpServletRequest.setAttribute("key", key);
    26. } else if (key == 2) {//学术类活动
    27. httpServletRequest.setAttribute("activityList", activityService.findActivityAndNameByAssociationType(key));
    28. httpServletRequest.setAttribute("key", key);
    29. } else if (key == 3) {//公益类活动
    30. httpServletRequest.setAttribute("activityList", activityService.findActivityAndNameByAssociationType(key));
    31. httpServletRequest.setAttribute("key", key);
    32. }
    33. return "jsp/activity";
    34. }
    35. @GetMapping("/activity")//活动详情页面
    36. public String act_detail(HttpServletRequest httpServletRequest,
    37. @RequestParam(name = "activityId", required = true) int activityId) {
    38. String imglocation[] = activityService.findActivityById(activityId).getPicture().split(";");//把活动图片路径和分号切割后返回正确的图片路径
    39. httpServletRequest.setAttribute("imgLocation", imglocation);
    40. int imgNum = imglocation.length;
    41. httpServletRequest.setAttribute("imgNum", imgNum);//获取图片数量
    42. httpServletRequest.setAttribute("activity", activityService.findActivityById(activityId));
    43. return "jsp/act_detail";//活动详情页面
    44. }
    45. @GetMapping("/activityApply")//申请活动页面
    46. public String toApply(HttpServletRequest httpServletRequest) {
    47. HttpSession session = httpServletRequest.getSession();
    48. int userId = (int) session.getAttribute("userId");
    49. httpServletRequest.setAttribute("associationId", associationMemberService.findassociationIdByUserId(userId));
    50. return "jsp/act_apply";
    51. }
    52. @PostMapping("/activity")//提交活动申请
    53. @ResponseBody
    54. public String addAct(@RequestParam String title,
    55. String description,
    56. int associationId,
    57. String startTime,
    58. String endTime,
    59. String location,
    60. float material,
    61. @RequestParam(name = "base64Data0", required = false) String base64Data0,
    62. @RequestParam(name = "base64Data1", required = false) String base64Data1,
    63. @RequestParam(name = "base64Data2", required = false) String base64Data2,
    64. HttpServletRequest httpServletRequest) {
    65. String picture1 = "";
    66. String picture2 = "";
    67. String picture3 = "";
    68. String picture = "";
    69. if (base64Data0 == null || "".equals(base64Data0)) {
    70. //提示上传图片错误
    71. } else {
    72. picture1 = PicUtil.pictureUtil(base64Data0, httpServletRequest);
    73. picture = picture1;
    74. }
    75. if (base64Data1 == null || "".equals(base64Data1)) {
    76. //提示上传图片错误
    77. } else {
    78. picture2 = PicUtil.pictureUtil(base64Data1, httpServletRequest);
    79. picture = picture + ";" + picture2;
    80. }
    81. if (base64Data2 == null || "".equals(base64Data2)) {
    82. //提示上传图片错误
    83. } else {
    84. picture3 = PicUtil.pictureUtil(base64Data2, httpServletRequest);
    85. picture = picture + ";" + picture3;
    86. }
    87. activityService.addActivity(title, description, associationId, startTime, endTime, location, material, picture);
    88. //HttpSession session = httpServletRequest.getSession();
    89. String result = "1";
    90. return result;
    91. }
    92. @RequestMapping("/applyResult")//活动申请结果页面
    93. public String toresult() {
    94. return "jsp/apply_result";
    95. }
    96. @RequestMapping("/actDelete")
    97. public ModelAndView actDelete(@RequestParam(name = "activityId", required = true) int activityId) {
    98. activityService.deleteActivity(activityId);
    99. int bar = 2;
    100. ModelAndView mv = new ModelAndView();
    101. mv.addObject("bar", bar);
    102. mv.setViewName("forward:assManage");
    103. return mv;
    104. }
    105. //查看申请的活动图片
    106. @RequestMapping("/actPicture")
    107. public String act_picture(HttpServletRequest httpServletRequest,
    108. @RequestParam(name = "activityId", required = true) int activityId) {
    109. String imglocation[] = activityService.findActivityById(activityId).getPicture().split(";");//把活动图片路径和分号切割后返回正确的图片路径
    110. httpServletRequest.setAttribute("imgLocation", imglocation);
    111. int imgNum = imglocation.length;
    112. httpServletRequest.setAttribute("imgNum", imgNum);//获取图片数量
    113. httpServletRequest.setAttribute("activity", activityService.findActivityById(activityId));
    114. return "jsp/manage/act_picture";//活动详情页面
    115. }
    116. @RequestMapping("/toActModify")//活动修改页面
    117. public String toAssModify(@RequestParam(name = "activityId", required = true) int activityId,
    118. HttpServletRequest httpServletRequest) {
    119. String imglocation[] = activityService.findActivityAndNameById(activityId).getPicture().split(";");//把活动图片路径和分号切割后返回正确的图片路径
    120. httpServletRequest.setAttribute("imgLocation", imglocation);
    121. int imgNum = imglocation.length;
    122. httpServletRequest.setAttribute("imgNum", imgNum);//获取图片数量
    123. httpServletRequest.setAttribute("act", activityService.findActivityAndNameById(activityId));
    124. return "jsp/manage/act_modify";
    125. }
    126. @RequestMapping("/actModify")//提交活动修改
    127. @ResponseBody
    128. public String actModify( @RequestParam(name = "activityId", required = true)int activityId,
    129. int activityStatus,
    130. @RequestParam String title,
    131. String description,
    132. int associationId,
    133. String startTime,
    134. String endTime,
    135. String location,
    136. float material,
    137. @RequestParam(name = "base64Data0", required = false) String base64Data0,
    138. @RequestParam(name = "base64Data1", required = false) String base64Data1,
    139. @RequestParam(name = "base64Data2", required = false) String base64Data2,
    140. HttpServletRequest httpServletRequest) {
    141. String picture1 = "";
    142. String picture2 = "";
    143. String picture3 = "";
    144. String picture = "";
    145. if("data".equals(base64Data0.substring(0,4))){//本地上传的图片
    146. if (base64Data0 == null || "".equals(base64Data0)) {
    147. //提示上传图片错误
    148. } else {
    149. picture1 = PicUtil.pictureUtil(base64Data0, httpServletRequest);
    150. picture = picture1;
    151. }
    152. if (base64Data1 == null || "".equals(base64Data1)) {
    153. //提示上传图片错误
    154. } else {
    155. picture2 = PicUtil.pictureUtil(base64Data1, httpServletRequest);
    156. picture = picture + ";" + picture2;
    157. }
    158. if (base64Data2 == null || "".equals(base64Data2)) {
    159. //提示上传图片错误
    160. } else {
    161. picture3 = PicUtil.pictureUtil(base64Data2, httpServletRequest);
    162. picture = picture + ";" + picture3;
    163. }
    164. }else {//是从数据库读取的图片
    165. if (base64Data0 == null || "".equals(base64Data0)) {
    166. //提示上传图片错误
    167. } else {
    168. picture1 = base64Data0;
    169. picture = picture1;
    170. }
    171. if (base64Data1 == null || "".equals(base64Data1)) {
    172. //提示上传图片错误
    173. } else {
    174. picture2 = base64Data1;
    175. picture = picture + ";" + picture2;
    176. }
    177. if (base64Data2 == null || "".equals(base64Data2)) {
    178. //提示上传图片错误
    179. } else {
    180. picture3 =base64Data2;
    181. picture = picture + ";" + picture3;
    182. }
    183. }
    184. activityService.updateActivity(title,description,associationId,startTime,endTime,location,picture,material,activityStatus,activityId);
    185. String result = "1";
    186. return result;
    187. }
    188. @RequestMapping("/toAddAct")
    189. public String toAddAss(int associationId,HttpServletRequest httpServletRequest) {
    190. httpServletRequest.setAttribute("associationId",associationId);
    191. return "jsp/manage/act_add";
    192. }
    193. @PostMapping("/actAdd")//活动添加业务逻辑
    194. @ResponseBody
    195. public String actAdd(@RequestParam String title,
    196. String description,
    197. int associationId,
    198. String startTime,
    199. String endTime,
    200. String location,
    201. float material,
    202. @RequestParam(name = "base64Data0", required = false) String base64Data0,
    203. @RequestParam(name = "base64Data1", required = false) String base64Data1,
    204. @RequestParam(name = "base64Data2", required = false) String base64Data2,
    205. HttpServletRequest httpServletRequest) {
    206. String picture1 = "";
    207. String picture2 = "";
    208. String picture3 = "";
    209. String picture = "";
    210. if (base64Data0 == null || "".equals(base64Data0)) {
    211. //提示上传图片错误
    212. } else {
    213. picture1 = PicUtil.pictureUtil(base64Data0, httpServletRequest);
    214. picture = picture1;
    215. }
    216. if (base64Data1 == null || "".equals(base64Data1)) {
    217. //提示上传图片错误
    218. } else {
    219. picture2 = PicUtil.pictureUtil(base64Data1, httpServletRequest);
    220. picture = picture + ";" + picture2;
    221. }
    222. if (base64Data2 == null || "".equals(base64Data2)) {
    223. //提示上传图片错误
    224. } else {
    225. picture3 = PicUtil.pictureUtil(base64Data2, httpServletRequest);
    226. picture = picture + ";" + picture3;
    227. }
    228. activityService.addActivity(title, description, associationId, startTime, endTime, location, material, picture);
    229. //HttpSession session = httpServletRequest.getSession();
    230. String result = "1";
    231. return result;
    232. }
    233. @RequestMapping("/actApplyPass")//活动申请通过
    234. public ModelAndView actApplySuccess(@RequestParam(name = "activityId", required = true) int activityId) {
    235. activityService.applyPass(activityId);
    236. int bar = 1;
    237. ModelAndView mv = new ModelAndView();
    238. mv.addObject("bar", bar);
    239. mv.setViewName("forward:applyManage");
    240. return mv;
    241. }
    242. @RequestMapping("/actApplyRefuse")//活动申请拒绝
    243. public ModelAndView actApplyRefuse(@RequestParam(name = "activityId", required = true) int activityId) {
    244. activityService.applyRefuse(activityId);
    245. int bar = 1;
    246. ModelAndView mv = new ModelAndView();
    247. mv.addObject("bar", bar);
    248. mv.setViewName("forward:applyManage");
    249. return mv;
    250. }
    251. }

    1. package com.example.association2.controller;
    2. import com.example.association2.service.impl.ActivityServiceImpl;
    3. import com.example.association2.service.impl.AssociationMemberServiceImpl;
    4. import com.example.association2.service.impl.AssociationServiceImpl;
    5. import com.example.association2.service.impl.NewsServiceImpl;
    6. import com.example.association2.utils.PicUtil;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.stereotype.Controller;
    9. import org.springframework.web.bind.annotation.*;
    10. import org.springframework.web.servlet.ModelAndView;
    11. import javax.servlet.http.HttpServletRequest;
    12. import javax.servlet.http.HttpSession;
    13. import java.text.SimpleDateFormat;
    14. import java.util.Date;
    15. @Controller
    16. public class AssociationController {
    17. @Autowired
    18. private AssociationServiceImpl associationService;
    19. @Autowired
    20. private AssociationMemberServiceImpl associationMemberService;
    21. @Autowired
    22. private ActivityServiceImpl activityService;
    23. @Autowired
    24. private NewsServiceImpl newsService;
    25. @GetMapping("/associations")//所有社团页面
    26. public String index(HttpServletRequest httpServletRequest,
    27. @RequestParam(name = "type", required = false, defaultValue = "1") int type) {
    28. httpServletRequest.setAttribute("type", type);
    29. httpServletRequest.setAttribute("associationsList", associationService.findAssociationsByType(type));
    30. httpServletRequest.setAttribute("lastActivity", activityService.findLastActivity());
    31. return "jsp/mid/index";
    32. }
    33. //申请创建社团页面
    34. @GetMapping("/associationApply")
    35. public String toApplyAss(HttpServletRequest httpServletRequest) {
    36. HttpSession session = httpServletRequest.getSession();
    37. int userId = (int) session.getAttribute("userId");
    38. httpServletRequest.setAttribute("userId", userId);
    39. return "jsp/ass_apply";
    40. }
    41. //提交创建社团申请
    42. @PostMapping("/associationApply")
    43. @ResponseBody
    44. public String addAss(String name,
    45. String description,
    46. int ownerId,
    47. int type,
    48. @RequestParam(name = "base64Data", required = true) String base64Data,
    49. HttpServletRequest httpServletRequest) {
    50. String logo = "";
    51. String s[];
    52. if (base64Data == null || "".equals(base64Data)) {
    53. //提示上传图片错误
    54. } else {
    55. logo = PicUtil.pictureUtil(base64Data, httpServletRequest);
    56. logo = logo.substring(3, logo.length());
    57. System.out.println(logo);
    58. }
    59. associationService.addAssociation(description, name, null, type, ownerId, logo);
    60. String result = "1";
    61. return result;
    62. }
    63. //社团详情页面
    64. @GetMapping("/association")
    65. public String association(
    66. @RequestParam(name = "associationId", required = true) int associationId,
    67. @RequestParam(name = "bar", defaultValue = "1") int bar,
    68. HttpServletRequest httpServletRequest) {
    69. switch (bar) {
    70. case 1:
    71. //首页
    72. httpServletRequest.setAttribute("bar", 1);
    73. break;
    74. case 2:
    75. //成员列表
    76. httpServletRequest.setAttribute("presidentDes",
    77. associationMemberService.findPresidentDesByAssid(associationId));
    78. httpServletRequest.setAttribute("VicePresidentDes",
    79. associationMemberService.findVicePresidentDesByAssid(associationId));
    80. httpServletRequest.setAttribute("MinisterDes",
    81. associationMemberService.findMinisterDesByAssid(associationId));
    82. httpServletRequest.setAttribute("bar", 2);
    83. break;
    84. case 3:
    85. //活动列表
    86. httpServletRequest.setAttribute("activityList",
    87. activityService.findActivityByAssociationId(associationId));
    88. httpServletRequest.setAttribute("signatureActivity",associationService.findSignatureActivityName(associationId));
    89. httpServletRequest.setAttribute("bar", 3);
    90. break;
    91. }
    92. httpServletRequest.setAttribute("association", associationService.findAssociationById(associationId));
    93. return "jsp/ass_detail";
    94. }
    95. @RequestMapping("/assManage")
    96. public String toAssManage(@RequestParam(name = "bar", defaultValue = "1") int bar,
    97. HttpServletRequest httpServletRequest) {
    98. switch (bar) {
    99. case 1:
    100. httpServletRequest.setAttribute("assList", associationService.findAllAss());
    101. httpServletRequest.setAttribute("bar", 1);
    102. break;
    103. case 2:
    104. httpServletRequest.setAttribute("actList", activityService.findAllActivityAndName());
    105. httpServletRequest.setAttribute("bar", 2);
    106. break;
    107. }
    108. return "jsp/manage/ass_manage";
    109. }
    110. @RequestMapping("/toAddAss")
    111. public String toAddAss() {
    112. return "jsp/manage/ass_add";
    113. }
    114. @PostMapping("/assAdd")
    115. @ResponseBody
    116. public String AddAss(String name,
    117. String description,
    118. int ownerId,
    119. int type,
    120. @RequestParam(name = "base64Data", required = true) String base64Data,
    121. HttpServletRequest httpServletRequest) {
    122. String logo = "";
    123. String s[];
    124. if (base64Data == null || "".equals(base64Data)) {
    125. //提示上传图片错误
    126. } else {
    127. logo = PicUtil.pictureUtil(base64Data, httpServletRequest);
    128. logo = logo.substring(3, logo.length());
    129. System.out.println(logo);
    130. }
    131. String createTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
    132. associationService.addAss(description, name, createTime, type, ownerId, logo);
    133. String result = "1";
    134. return result;
    135. }
    136. @RequestMapping("/assDelete")
    137. public ModelAndView amDelete(@RequestParam(name = "associationId", required = true) int associationId) {
    138. associationService.deleteAss(associationId);
    139. int bar = 2;
    140. ModelAndView mv = new ModelAndView();
    141. mv.addObject("bar", bar);
    142. mv.setViewName("forward:assManage");
    143. return mv;
    144. }
    145. @RequestMapping("/toAssModify")
    146. public String toAssModify(@RequestParam(name = "associationId", required = true) int associationId,
    147. HttpServletRequest httpServletRequest) {
    148. httpServletRequest.setAttribute("ass", associationService.findAssociationById(associationId));
    149. return "jsp/manage/ass_modify";
    150. }
    151. @RequestMapping("/assModify")
    152. @ResponseBody
    153. public String assModify( @RequestParam(name = "associationId", required = true)int associationId,
    154. String name,
    155. String description,
    156. int ownerId,
    157. int type,
    158. Integer signatureActivity,
    159. @RequestParam(name = "base64Data", required = true) String base64Data,
    160. HttpServletRequest httpServletRequest) {
    161. String logo = "";
    162. if("data".equals(base64Data.substring(0,4))) {//本地上传的图片
    163. if (base64Data == null || "".equals(base64Data)) {
    164. //提示上传图片错误
    165. } else {
    166. logo = PicUtil.pictureUtil(base64Data, httpServletRequest);
    167. logo = logo.substring(3, logo.length());
    168. }
    169. }else {
    170. logo=base64Data.substring(22,base64Data.length()) ;
    171. }
    172. associationService.assModify(description,name,type,ownerId,logo,signatureActivity,associationId);
    173. associationMemberService.updatePresidentByAssociationId(associationId,ownerId);
    174. String result = "1";
    175. return result;
    176. }
    177. @RequestMapping("/applyManage")
    178. public String toApplyManage(@RequestParam(name = "bar", defaultValue = "1") int bar,
    179. HttpServletRequest httpServletRequest) {
    180. switch (bar) {
    181. case 1:
    182. httpServletRequest.setAttribute("actApplyList", activityService.findAllActivityApply());
    183. httpServletRequest.setAttribute("bar", 1);
    184. break;
    185. case 2:
    186. httpServletRequest.setAttribute("assApplyList", associationService.findAllAssociationsApply());
    187. httpServletRequest.setAttribute("bar", 2);
    188. break;
    189. }
    190. return "jsp/manage/apply_manage";
    191. }
    192. @RequestMapping("/assApplyPass")
    193. public ModelAndView assApplySuccess(@RequestParam(name = "associationId", required = true) int associationId) {
    194. String createTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
    195. associationService.applyPass(createTime,associationId);
    196. associationMemberService.updatePresidentByAssociationId(associationId,associationService.findOwnerIdByAssociationId(associationId));
    197. associationMemberService.updateUserByAssociationId(associationId,associationService.findOwnerIdByAssociationId(associationId));
    198. int bar = 2;
    199. ModelAndView mv = new ModelAndView();
    200. mv.addObject("bar", bar);
    201. mv.setViewName("forward:applyManage");
    202. return mv;
    203. }
    204. @RequestMapping("/assApplyRefuse")
    205. public ModelAndView assApplyRefuse(@RequestParam(name = "associationId", required = true) int associationId) {
    206. associationService.applyRefuse(associationId);
    207. int bar = 2;
    208. ModelAndView mv = new ModelAndView();
    209. mv.addObject("bar", bar);
    210. mv.setViewName("forward:applyManage");
    211. return mv;
    212. }
    213. }
    1. package com.example.association2.controller;
    2. import com.example.association2.enums.UserType;
    3. import com.example.association2.model.User;
    4. import com.example.association2.service.impl.ActivityServiceImpl;
    5. import com.example.association2.service.impl.AssociationServiceImpl;
    6. import com.example.association2.service.impl.NewsServiceImpl;
    7. import com.example.association2.service.impl.UserServiceImpl;
    8. import org.springframework.beans.factory.annotation.Autowired;
    9. import org.springframework.stereotype.Controller;
    10. import org.springframework.ui.Model;
    11. import org.springframework.web.bind.annotation.*;
    12. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    13. import javax.servlet.http.HttpServletRequest;
    14. import javax.servlet.http.HttpSession;
    15. @Controller
    16. //@ResponseBody
    17. public class LoginController{
    18. @Autowired
    19. private UserServiceImpl userService;
    20. @Autowired
    21. private NewsServiceImpl newsService;
    22. @Autowired
    23. private AssociationServiceImpl associationService;
    24. @Autowired
    25. private ActivityServiceImpl activityService;
    26. //登录界面
    27. @GetMapping("/")
    28. public String tologin(){
    29. return "templates/login2";
    30. }
    31. //校验账户密码
    32. @PostMapping("/login")
    33. public String check(User user, HttpSession session, HttpServletRequest httpServletRequest, RedirectAttributes redirectAttributes) {
    34. User u1=userService.validUser(user.getUserId(), user.getPassword());
    35. if(u1==null) {//账户密码不匹配
    36. httpServletRequest.setAttribute("msg","用户名密码错误" );
    37. return "templates/login2";
    38. }else {
    39. session.setAttribute("userId", user.getUserId());
    40. session.setAttribute("userType", userService.finUserTypeById(user.getUserId()));
    41. return "redirect:associations";
    42. }
    43. }
    44. //注册界面
    45. @GetMapping("/register")
    46. public String Register(Model model) {
    47. //model.addAttribute("user", new User());
    48. return "templates/register";
    49. }
    50. //进行注册
    51. @PostMapping("/register")
    52. public String Register(User user,HttpSession session, HttpServletRequest httpServletRequest, RedirectAttributes redirectAttributes) {
    53. User u2=userService.validUserAccount(user.getUserId());
    54. if(u2!=null) {//账户已存在
    55. httpServletRequest.setAttribute("msg","用户已存在" );
    56. return "templates/register";
    57. }
    58. else//进行注册
    59. userService.addUser(user.getUserId(), user.getPassword(), UserType.STUDENT.getUserType());
    60. session.setAttribute("userId", user.getUserId());
    61. session.setAttribute("userType", userService.finUserTypeById(user.getUserId()));
    62. return "redirect:associations";
    63. }
    64. //注销
    65. @RequestMapping("/exit")
    66. public String exit(HttpSession session, HttpServletRequest httpServletRequest,
    67. Model model,
    68. @RequestParam(name = "type", required = false,defaultValue = "1") int type) {
    69. httpServletRequest.setAttribute("type",type);
    70. httpServletRequest.setAttribute("associationsList",associationService.findAssociationsByType(type));
    71. model.addAttribute("signatureActivity","**大赛");
    72. httpServletRequest.setAttribute("lastNews",newsService.findLastNews());
    73. httpServletRequest.setAttribute("lastActivity",activityService.findLastActivity());
    74. session.invalidate();
    75. return "jsp/mid/index";
    76. }
    77. }

    五,项目总结

    整个项目基本功能完整,业务逻辑清晰,有严格的审批流程,比较适合做毕业设计或课程设计使用。

  • 相关阅读:
    vue路由&无痕浏览&nodeJS环境配置&ElementUI简介
    RabbitMQ笔记
    又一关键系统上线,理想车云和自动驾驶系统登陆OceanBase
    ATF启动(三):BL2
    Apache Doris系列之:深入认识实时分析型数据库Apache Doris
    伊朗网络间谍组织针对中东金融和政府部门
    CSS 预处理器的 13 种风格
    Permute3(万能音视频转换器)
    PHP语言、B/S手术麻醉临床信息管理系统源码
    博弈论 之 2 什么是博弈论
  • 原文地址:https://blog.csdn.net/BS009/article/details/126062291