• Java项目:ssm在线视频教育网站


    作者主页:夜未央5788

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

    文末获取源码

    项目介绍

    基于SSM的在线视频教育网站系统设计与实现.系统分为管理员与普通用户两种角色。

    1)登录模块

    在进入系统首页后,首先看到的是登录界面,该界面会提供注册用户的功能,在登陆界面,输入用户名之后,首先要发送ajax请求验证用户名是否存在,第一时间内给用户提示。 

    2)客户端模块

    本模块分为密钥管理,角色管理,权限管理,个人信息,课程信息等组成。 

    3)后台管理模块

    本模块包括用户管理,作品信息管理等。 用户管理:提供管理员查询用户,锁定解锁用户,修改用户信息,充值余额。 课程信息管理:提供管理员增加删除修改功能。 系统日志查看:查看所有系统的动作信息。 访问ip管理:提供对访问IP的管理,可以进行拉黑IP等操作。

    环境需要

    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 5.7版本;

    技术栈

    1. 后端:SSM(Spring SpringMVC MyBatis)

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

    3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置

    4. 运行项目,在浏览器中输入http://localhost:8080/xx  登录; xx为项目路径;

    后台访问地址:localhost:8080/xx/admin

    运行截图

    前台界面

    管理员页面

    代码相关

    用户管理控制器

    1. @Controller
    2. public class UserController {
    3. @Autowired
    4. UserBiz userBiz;
    5. @Autowired
    6. CourseBiz courseBiz;
    7. @Autowired
    8. MessageBiz messageBiz;
    9. @Autowired
    10. ReviewBiz reviewBiz;
    11. @Autowired
    12. LogBiz logBiz;
    13. /**
    14. * 普通日志写入
    15. *
    16. * @param loginUser
    17. * @param ip
    18. * @param type
    19. */
    20. public void setlog(User loginUser, String ip, String type) {
    21. Log log = new Log();
    22. log.setUserid(loginUser.getId());
    23. log.setUsername(loginUser.getUsername());
    24. log.setIp(ip);
    25. log.setType(type);
    26. logBiz.insert(log);
    27. }
    28. @RequestMapping(value = "login")
    29. public String login(User user, HttpSession session, HttpServletRequest req) {
    30. Map paramMap = new HashMap();
    31. paramMap.put("username", user.getUsername());
    32. paramMap.put("password", user.getPassword());
    33. User loginUser = userBiz.selectLoginUser(paramMap);
    34. if (loginUser == null) {
    35. return "login";
    36. }
    37. setlog(loginUser, req.getRemoteAddr(), "登录");
    38. session.setAttribute("loginUser", loginUser);
    39. return "redirect:course.do";
    40. }
    41. @RequestMapping(value = "logout") // 注销登出
    42. public String logout(String type, User user, HttpSession session, HttpServletRequest req) {
    43. User loginUser = (User) session.getAttribute("loginUser");
    44. if (loginUser == null) {
    45. return "login";
    46. } else {
    47. session.invalidate();
    48. if (type == "admin") {
    49. setlog(loginUser, req.getRemoteAddr(), "管理员注销");
    50. return "loginadmin";
    51. } else
    52. setlog(loginUser, req.getRemoteAddr(), "注销");
    53. return "redirect:index.do";
    54. }
    55. }
    56. /*
    57. * ajax密码检查
    58. */
    59. @RequestMapping(value = "passwordcheck")
    60. public void selectUser(User user, HttpSession session, HttpServletResponse response, HttpServletRequest req)
    61. throws IOException {
    62. Map paramMap = new HashMap();
    63. paramMap.put("username", user.getUsername());
    64. paramMap.put("password", user.getPassword());
    65. response.setCharacterEncoding("utf-8");
    66. PrintWriter out = response.getWriter();
    67. if (userBiz.selectUser(paramMap) == 1) {
    68. if (!"admin".equals(userBiz.selectLoginUser(paramMap).getMission())) {
    69. if (userBiz.selectLoginUser(paramMap).getBuycase() != null) {
    70. if ("1".equals(userBiz.selectLoginUser(paramMap).getBuycase())) {
    71. out.println("3");// 屏蔽登录
    72. } else
    73. out.println("1");// 正常登录密码正确
    74. } else {
    75. out.println("1");
    76. }
    77. } else {
    78. out.println("2");// 管理员返回
    79. }
    80. } else {
    81. Log log = new Log();
    82. log.setIp(req.getRemoteAddr());
    83. log.setType("尝试登录账号:" + user.getUsername() + ",密码错误");
    84. logBiz.insert(log);
    85. out.println("0");//密码错误返回值
    86. }
    87. }
    88. @RequestMapping(value = "usercheck")
    89. // 注册检查
    90. public void Usercheck(String username, HttpSession session, HttpServletResponse response) throws IOException {
    91. response.setCharacterEncoding("utf-8");
    92. PrintWriter out = response.getWriter();
    93. int i = userBiz.selectUser(username);
    94. out.println(i);
    95. }
    96. @RequestMapping(value = "quickregist")
    97. // 快速注册
    98. public String insertUser(String varcode, User user, HttpSession session, HttpServletRequest req) {
    99. String id = DateUtil.getId();
    100. String username = user.getUsername();
    101. String revarcode = (String) session.getAttribute("varcodenumber");
    102. if (varcode == null) {
    103. return "redirect:course.do";
    104. }
    105. if (userBiz.selectUser(username) == 1 || !varcode.equals(revarcode)) {
    106. return "redirect:course.do";
    107. }
    108. user.setId(id);
    109. user.setMission(null);
    110. user.setBuycase(null);
    111. user.setMycase(null);
    112. user.setVip(null);
    113. userBiz.insertSelective(user);
    114. session.setAttribute("loginUser", user);
    115. setlog(user, req.getRemoteAddr(), "快速注册");
    116. return "redirect:course.do";
    117. }
    118. @RequestMapping(value = "regist")
    119. // 注册
    120. public String regist(String varcode, User user, HttpSession session, HttpServletRequest req) {
    121. String id = DateUtil.getId();
    122. String username = user.getUsername();
    123. String revarcode = (String) session.getAttribute("varcodenumber");
    124. if (varcode == null) {
    125. return "redirect:course.do";
    126. }
    127. if (userBiz.selectUser(username) == 1 || !varcode.equals(revarcode)) {
    128. return "redirect:course.do";
    129. }
    130. user.setId(id);
    131. user.setMission(null);
    132. user.setBuycase(null);
    133. user.setMycase(null);
    134. user.setVip(null);
    135. userBiz.insertSelective(user);
    136. setlog(user, req.getRemoteAddr(), "普通注册");
    137. return "redirect:course.do";
    138. }
    139. @RequestMapping(value = "showvip")
    140. // 会员中心
    141. public String showvip(HttpSession session) {
    142. User loginUser = (User) session.getAttribute("loginUser");
    143. if (loginUser != null) {
    144. loginUser = userBiz.selectByPrimaryKey(loginUser.getId());
    145. session.setAttribute("loginUser", loginUser);
    146. }
    147. return "vip";
    148. }
    149. @RequestMapping(value = "mylearn")
    150. // 我的课程查询
    151. public String myCourse(HttpSession session, Map map) {
    152. User loginUser = (User) session.getAttribute("loginUser");
    153. if (loginUser == null) {
    154. return "login";
    155. }
    156. List courses = new ArrayList();
    157. List messages = messageBiz.selectmy(loginUser.getId());
    158. for (int i = 0; i < messages.size(); i++) {
    159. int a = messages.get(i).getCourseid();
    160. Course course = courseBiz.selectByPrimaryKey(a);
    161. courses.add(course);
    162. }
    163. map.put("mycourses", courses);
    164. return "mylearn";
    165. }
    166. @RequestMapping(value = "course")
    167. // 主页课程查询
    168. public String Course(HttpSession session, Map map) {
    169. List courses = courseBiz.selectAllCourse();
    170. map.put("courses", courses);
    171. return "courseindex";
    172. }
    173. @RequestMapping(value = "coursedetail")
    174. // 单课程主页
    175. public String Courseindex(int id, HttpSession session, Map map) {
    176. User loginUser = (User) session.getAttribute("loginUser");
    177. if (loginUser == null) {
    178. return "login";
    179. }
    180. Message message = new Message();
    181. message.setCourseid(id);
    182. message.setUserid(loginUser.getId());
    183. Message me = messageBiz.select(message);
    184. if (me == null) {
    185. map.put("isSelect", false);
    186. } else {
    187. map.put("isSelect", true);
    188. }
    189. Course course = courseBiz.selectByPrimaryKey(id);
    190. map.put("course", course);
    191. return "coursedetail";
    192. }
    193. @RequestMapping(value = "coursevideo")
    194. // 单课程视屏
    195. public String Coursevideo(int courseid, HttpSession session, Map map) {
    196. User loginUser = (User) session.getAttribute("loginUser");
    197. if (loginUser == null) {
    198. return "login";
    199. }
    200. Course course = courseBiz.selectByPrimaryKey(courseid);
    201. if ("1".equals(course.getType())) {
    202. if (loginUser.getVip() == null) {
    203. return "vip";
    204. }
    205. }
    206. map.put("course", course);
    207. List reviews = reviewBiz.select(courseid);
    208. map.put("reviews", reviews);
    209. return "coursevideo";
    210. }
    211. @RequestMapping(value = "insertCourse")
    212. // 加入课程
    213. public void insertCourse(int courseid, String userid, HttpSession session, HttpServletRequest req,
    214. HttpServletResponse response) throws IOException {
    215. String result = "订阅成功!";
    216. User user = (User) session.getAttribute("loginUser");
    217. Course c = courseBiz.selectByPrimaryKey(courseid);
    218. if (user.getVip() == null && "1".equals(c.getType())) {
    219. result = "此课程是会员课程,请购买会员!";
    220. } else {
    221. Message message = new Message();
    222. message.setCourseid(courseid);
    223. message.setUserid(userid);
    224. int i = messageBiz.insert(message);
    225. setlog(user, req.getRemoteAddr(), "订阅课程:" + c.getName());
    226. }
    227. response.setCharacterEncoding("utf-8");
    228. PrintWriter out = response.getWriter();
    229. out.print(result);
    230. }
    231. @RequestMapping(value = "deleteCourse")
    232. // 删除课程
    233. public String deleteCourse(int courseid, String userid, HttpServletResponse response, HttpServletRequest req)
    234. throws IOException {
    235. Message message = new Message();
    236. message.setCourseid(courseid);
    237. message.setUserid(userid);
    238. PrintWriter out = response.getWriter();
    239. int i = messageBiz.delete(message);
    240. User loginUser = userBiz.selectByPrimaryKey(userid);
    241. Course c = courseBiz.selectByPrimaryKey(courseid);
    242. setlog(loginUser, req.getRemoteAddr(), "取消课程:" + c.getName());
    243. String result = i > 0 ? "true" : "false";
    244. return result;
    245. }
    246. @RequestMapping(value = "infoset")
    247. // 个人信息设置
    248. public String Infoset(User user, HttpSession session, HttpServletRequest req) {
    249. User loginUser = (User) session.getAttribute("loginUser");
    250. if (loginUser == null) {
    251. return "login";
    252. }
    253. user.setCollect(loginUser.getCollect());
    254. List reviews = reviewBiz.selectbyuserid(loginUser.getUsername());
    255. for (int a = 0; a < reviews.size(); a++) {
    256. reviews.get(a).setSex(user.getSex());
    257. }
    258. reviewBiz.updateByPrimaryKeySelective(reviews);
    259. userBiz.updateByPrimaryKeySelective(user);
    260. Map map = new HashMap();
    261. map.put("username", loginUser.getUsername());
    262. map.put("password", loginUser.getPassword());
    263. session.setAttribute("loginUser", userBiz.selectLoginUser(map));
    264. setlog(loginUser, req.getRemoteAddr(), "个人信息更改");
    265. return "redirect:course.do";
    266. }
    267. @RequestMapping(value = "vip")
    268. // vip购买 0为1个月,1为半年,2为一年
    269. public void Vip(HttpSession session, int viptype, HttpServletResponse response, HttpServletRequest req)
    270. throws IOException {
    271. String data = "已经成功充值";
    272. User loginUser = (User) session.getAttribute("loginUser");
    273. if (loginUser == null) {
    274. // return "login";
    275. }
    276. List reviews = reviewBiz.selectbyuserid(loginUser.getUsername());
    277. int collect = loginUser.getCollect();
    278. boolean isvip = false;
    279. boolean is = true;
    280. Date date = new Date();
    281. Date vipdate = loginUser.getVip();
    282. if (vipdate == null) {
    283. is = false;
    284. } else if (vipdate.getTime() > date.getTime()) {
    285. is = false;
    286. }
    287. if (vipdate == null || is) {
    288. if (viptype == 0) {
    289. if (collect < 500) {
    290. data = "余额不足,请联系管理员充值!";
    291. } else {
    292. loginUser.setCollect(collect - 500);
    293. vipdate = new Date();
    294. vipdate.setMonth(vipdate.getMonth() + 1);
    295. loginUser.setVip(vipdate);
    296. isvip = true;
    297. setlog(loginUser, req.getRemoteAddr(), "购买会员:一个月");
    298. }
    299. } else if (viptype == 1) {
    300. if (Integer.valueOf(loginUser.getCollect()) < 2000) {
    301. data = "余额不足,请联系管理员充值!";
    302. } else {
    303. loginUser.setCollect(collect - 2000);
    304. vipdate = new Date();
    305. vipdate.setMonth(vipdate.getMonth() + 6);
    306. loginUser.setVip(vipdate);
    307. isvip = true;
    308. setlog(loginUser, req.getRemoteAddr(), "购买会员:半年");
    309. }
    310. } else if (viptype == 2) {
    311. if (collect < 3000) {
    312. data = "余额不足,请联系管理员充值!";
    313. } else {
    314. loginUser.setCollect(collect - 3000);
    315. vipdate = new Date();
    316. vipdate.setYear(vipdate.getYear() + 1);
    317. loginUser.setVip(vipdate);
    318. isvip = true;
    319. setlog(loginUser, req.getRemoteAddr(), "购买会员:一年");
    320. }
    321. }
    322. } else {
    323. if (viptype == 0) {
    324. if (collect < 500) {
    325. data = "余额不足,请联系管理员充值!";
    326. } else {
    327. loginUser.setCollect(collect - 500);
    328. vipdate.setMonth(vipdate.getMonth() + 1);
    329. loginUser.setVip(vipdate);
    330. isvip = true;
    331. setlog(loginUser, req.getRemoteAddr(), "购买会员:一个月");
    332. }
    333. } else if (viptype == 1) {
    334. if (collect < 2000) {
    335. data = "余额不足,请联系管理员充值!";
    336. } else {
    337. loginUser.setCollect(collect - 2000);
    338. vipdate.setMonth(vipdate.getMonth() + 6);
    339. loginUser.setVip(vipdate);
    340. isvip = true;
    341. setlog(loginUser, req.getRemoteAddr(), "购买会员:半年");
    342. }
    343. } else if (viptype == 2) {
    344. if (collect < 3000) {
    345. data = "余额不足,请联系管理员充值!";
    346. } else {
    347. loginUser.setCollect(collect - 3000);
    348. vipdate.setYear(vipdate.getYear() + 1);
    349. loginUser.setVip(vipdate);
    350. isvip = true;
    351. setlog(loginUser, req.getRemoteAddr(), "购买会员:一年");
    352. }
    353. }
    354. }
    355. if (isvip = true) {
    356. for (int a = 0; a < reviews.size(); a++) {
    357. reviews.get(a).setVip(1);
    358. }
    359. }
    360. reviewBiz.updateByPrimaryKeySelective(reviews);
    361. userBiz.updateByPrimaryKeySelective(loginUser);
    362. Map map = new HashMap();
    363. map.put("username", loginUser.getUsername());
    364. map.put("password", loginUser.getPassword());
    365. session.setAttribute("loginUser", userBiz.selectLoginUser(map));
    366. response.setCharacterEncoding("utf-8");
    367. PrintWriter out = response.getWriter();
    368. out.println(data);
    369. }
    370. }

     管理控制器

    1. @Controller
    2. public class AdminController {
    3. @Autowired
    4. UserBiz userBiz;
    5. @Autowired
    6. LogBiz logBiz;
    7. @Autowired
    8. CourseBiz courseBiz;
    9. @Autowired
    10. IpsetBiz ipsetBiz;
    11. public void setlog(User loginUser,String ip,String type,String adminname){
    12. Log log = new Log();
    13. log.setUserid(loginUser.getId());
    14. log.setUsername(loginUser.getUsername());
    15. log.setIp(ip);
    16. log.setType(type);
    17. log.setExecutor(adminname);
    18. logBiz.insert(log);
    19. }
    20. @RequestMapping(value = "adminlogin")//管理员登录
    21. public String adminlogin(User user, HttpSession session,HttpServletRequest req) {
    22. Map paramMap = new HashMap();
    23. paramMap.put("username", user.getUsername());
    24. paramMap.put("password", user.getPassword());
    25. User loginUser = userBiz.selectLoginUser(paramMap);
    26. if (loginUser == null) {
    27. return "login";
    28. }else if(!"admin".equals(loginUser.getMission())){
    29. //添加管理员登录的再次验证,防止直接跳过前端验证进行强制登录
    30. session.setAttribute("loginUser", loginUser);
    31. Log log = new Log();
    32. log.setUserid(loginUser.getId());
    33. log.setUsername(loginUser.getUsername());
    34. log.setIp(req.getRemoteAddr());
    35. log.setType("用户尝试强制登录管理员页面");
    36. logBiz.insert(log);
    37. return "redirect:course.do";
    38. }else{
    39. session.setAttribute("loginUser", loginUser);
    40. setlog(loginUser, req.getRemoteAddr(),"登录", loginUser.getUsername());
    41. return "admin/leftmeun";
    42. }
    43. }
    44. @RequestMapping(value = "alluser")//展示所有用户
    45. public String alluser(int page, HttpSession session) {
    46. User loginUser = (User) session.getAttribute("loginUser");
    47. if (loginUser == null) {
    48. return "login";
    49. }else if(!"admin".equals(loginUser.getMission())){
    50. //添加管理员的再次验证
    51. session.setAttribute("loginUser", loginUser);
    52. return "redirect:course.do";
    53. }else{
    54. List userss = userBiz.selectAllUser();
    55. int totalpage = 14;//一页的数量
    56. List users = new ArrayList();
    57. session.setAttribute("maxpage", (userss.size()-1)/totalpage);
    58. for(int i = page*totalpage;i
    59. if(userss.size()==i){
    60. session.setAttribute("users", users);
    61. session.setAttribute("page", page);
    62. return "admin/alluser";
    63. }
    64. users.add(userss.get(i));
    65. }
    66. session.setAttribute("page", page);
    67. session.setAttribute("loginUser", loginUser);
    68. session.setAttribute("users", users);
    69. return "admin/alluser";
    70. }
    71. }
    72. @RequestMapping(value = "banuser")//屏蔽和恢复用户
    73. public String banuser(String userid,int type, HttpSession session,HttpServletRequest req) {
    74. User loginUser = (User) session.getAttribute("loginUser");
    75. if (loginUser == null) {
    76. return "login";
    77. }else if(!"admin".equals(loginUser.getMission())){
    78. //添加管理员的再次验证
    79. session.setAttribute("loginUser", loginUser);
    80. return "redirect:course.do";
    81. }else{
    82. if(type==0){//0为屏蔽用户
    83. User user = userBiz.selectByPrimaryKey(userid);
    84. user.setBuycase("1");
    85. userBiz.updateByPrimaryKeySelective(user);
    86. setlog(user,req.getRemoteAddr(),"屏蔽用户登录",loginUser.getUsername());
    87. return "redirect:alluser.do?page=0";
    88. }
    89. if(type==1){//1为恢复用户
    90. User user = userBiz.selectByPrimaryKey(userid);
    91. user.setBuycase("0");
    92. userBiz.updateByPrimaryKeySelective(user);
    93. setlog(user,req.getRemoteAddr(),"恢复用户登录",loginUser.getUsername());
    94. return "redirect:alluser.do?page=0";
    95. }
    96. }
    97. return "redirect:alluser.do?page=0";
    98. }
    99. @RequestMapping(value = "rechargeindex")//充值余额界面
    100. public String rechargeindex( HttpSession session) {
    101. User loginUser = (User) session.getAttribute("loginUser");
    102. if (loginUser == null) {
    103. return "login";
    104. }else if(!"admin".equals(loginUser.getMission())){
    105. //添加管理员的再次验证
    106. return "redirect:course.do";
    107. }
    108. return "admin/recharge";
    109. }
    110. @RequestMapping(value = "recharge")//充值余额
    111. public void recharge(String userid,int collect, String paypassword,HttpServletRequest req,
    112. HttpSession session,HttpServletResponse resp) throws IOException {
    113. User loginUser = (User) session.getAttribute("loginUser");
    114. resp.setCharacterEncoding("utf-8");
    115. PrintWriter pw = resp.getWriter();
    116. User user = userBiz.selectByPrimaryKey(userid);
    117. if(user==null){
    118. pw.print("用户ID不存在!请核实后再充值");
    119. }else if(!paypassword.equals("591284209")){
    120. pw.print("0");
    121. }else{
    122. user.setCollect(user.getCollect()+collect);
    123. userBiz.updateByPrimaryKeySelective(user);
    124. setlog(user,req.getRemoteAddr(),"充值"+collect+"元",loginUser.getUsername());
    125. pw.print("账户"+userid+",充值"+collect+"元成功,余额:"+user.getCollect());
    126. }
    127. }
    128. @RequestMapping(value = "newuser")//新建用户界面,用户详情界面
    129. public String newuser(String userid, HttpSession session) {
    130. User loginUser = (User) session.getAttribute("loginUser");
    131. if (loginUser == null) {
    132. return "login";
    133. }else if(!"admin".equals(loginUser.getMission())){
    134. //添加管理员的再次验证
    135. return "redirect:course.do";
    136. }
    137. if(userid!=null){
    138. User user = userBiz.selectByPrimaryKey(userid);
    139. session.setAttribute("user", user);
    140. return "admin/newuser";
    141. }else{
    142. session.removeAttribute("user");
    143. return "admin/newuser";
    144. }
    145. }
    146. @RequestMapping(value = "newadduser")//新建账户
    147. public String newadduser(User newuser,HttpSession session,HttpServletRequest req){
    148. User loginUser = (User) session.getAttribute("loginUser");
    149. newuser.setId(DateUtil.getId());
    150. userBiz.insertSelective(newuser);
    151. setlog(newuser,req.getRemoteAddr(),"创建用户",loginUser.getUsername());
    152. return "redirect:newuser.do";
    153. }
    154. @RequestMapping(value = "setuser")//修改账户
    155. public String setuser(User user,HttpSession session,HttpServletRequest req){
    156. User loginUser = (User) session.getAttribute("loginUser");
    157. userBiz.updateByPrimaryKeySelective(user);
    158. setlog(user,req.getRemoteAddr(),"修改用户信息",loginUser.getUsername());
    159. return "redirect:alluser.do?page=0";
    160. }
    161. @RequestMapping(value = "removeuser")//删除用户
    162. public void removeuser(String userid,String removepassword,HttpSession session,HttpServletRequest req,
    163. HttpServletResponse resp) throws IOException {
    164. User loginUser = (User) session.getAttribute("loginUser");
    165. resp.setCharacterEncoding("utf-8");
    166. PrintWriter pw = resp.getWriter();
    167. if(!removepassword.equals("591284209")){
    168. pw.print("0");
    169. }else{
    170. User user = userBiz.selectByPrimaryKey(userid);
    171. userBiz.deleteByPrimaryKey(userid);
    172. setlog(user,req.getRemoteAddr(),"删除用户",loginUser.getUsername());
    173. pw.print("账户:"+userid+",删除成功");
    174. List users = userBiz.selectAllUser();
    175. session.setAttribute("users", users);
    176. }
    177. }
    178. @RequestMapping(value = "showlog")//日志查看
    179. public String showlog(String seachusername,String type, HttpSession session) {
    180. User loginUser = (User) session.getAttribute("loginUser");
    181. if (loginUser == null) {
    182. return "login";
    183. }else if(!"admin".equals(loginUser.getMission())){
    184. //添加管理员的再次验证
    185. return "redirect:course.do";
    186. }
    187. if(seachusername!=null&&type==null){
    188. List logs = logBiz.selectbyusername(seachusername);
    189. session.setAttribute("logss", logs);
    190. session.removeAttribute("type");
    191. session.setAttribute("logs", initlogpage(logs));
    192. session.setAttribute("maxpage", (logs.size()-1)/15);//10为每页个数
    193. session.setAttribute("page", 0);
    194. return "admin/log";
    195. }
    196. if(type!=null&&seachusername==null){
    197. List logs = logBiz.selectadminlog();
    198. session.setAttribute("type", "admin");
    199. session.setAttribute("logss", logs);
    200. session.setAttribute("logs", initlogpage(logs));
    201. session.setAttribute("maxpage", (logs.size()-1)/15);
    202. session.setAttribute("page", 0);
    203. return "admin/log";
    204. }
    205. if(type==null&&seachusername==null){
    206. List logs = logBiz.select();
    207. session.removeAttribute("type");
    208. session.setAttribute("logss", logs);
    209. session.setAttribute("logs", initlogpage(logs));
    210. session.setAttribute("maxpage", (logs.size()-1)/15);
    211. session.setAttribute("page", 0);
    212. return "admin/log";
    213. }
    214. if(type!=null&&seachusername!=null){
    215. List logs = logBiz.selectadminlogbyusername(seachusername);
    216. session.removeAttribute("type");
    217. session.setAttribute("logss", logs);
    218. session.setAttribute("logs", initlogpage(logs));
    219. session.setAttribute("maxpage", (logs.size()-1)/15);
    220. session.setAttribute("page", 0);
    221. return "admin/log";
    222. }
    223. List logs = logBiz.select();
    224. session.removeAttribute("type");
    225. session.setAttribute("logss", logs);
    226. session.setAttribute("logs", initlogpage(logs));
    227. session.setAttribute("maxpage", (logs.size()-1)/15);
    228. session.setAttribute("page", 0);
    229. return "admin/log";
    230. }
    231. public List initlogpage(List logss){//第一次传输日志
    232. int totalpage = 15;//一页的数量
    233. List logs = new ArrayList();
    234. for(int i = 0;i
    235. if(logss.size()==i)
    236. return logs;
    237. logs.add(logss.get(i));
    238. }
    239. return logs;
    240. }
    241. @RequestMapping(value = "logpage")//日志翻页
    242. public String logpage(int page,HttpSession session){
    243. List logss = (List) session.getAttribute("logss");
    244. int rpage = (int) session.getAttribute("page");
    245. int totalpage = 15;//一页的数量
    246. List logs = new ArrayList();
    247. for(int i = page*totalpage;i
    248. if(logss.size()==i){
    249. session.setAttribute("logs", logs);
    250. session.setAttribute("page", page);
    251. return "admin/log";
    252. }
    253. logs.add(logss.get(i));
    254. }
    255. session.setAttribute("logs", logs);
    256. session.setAttribute("page", page);
    257. return "admin/log";
    258. }
    259. @RequestMapping(value = "allcourse")//全部课程界面
    260. public String allcourseindex(int page, HttpSession session) {
    261. User loginUser = (User) session.getAttribute("loginUser");
    262. if (loginUser == null) {
    263. return "login";
    264. }else if(!"admin".equals(loginUser.getMission())){
    265. //添加管理员的再次验证
    266. return "redirect:course.do";
    267. }
    268. List coursess = courseBiz.selectAllCourse();
    269. int totalpage = 14;//一页的数量
    270. List courses = new ArrayList();
    271. session.setAttribute("maxpage", (coursess.size()-1)/totalpage);
    272. for(int i = page*totalpage;i
    273. if(coursess.size()==i){
    274. session.setAttribute("courses", courses);
    275. session.setAttribute("page", page);
    276. return "admin/allcourse";
    277. }
    278. courses.add(coursess.get(i));
    279. }
    280. session.setAttribute("page", page);
    281. session.setAttribute("courses", courses);
    282. return "admin/allcourse";
    283. }
    284. @RequestMapping(value = "bancourse")//上下架课程
    285. public String bancourse(int type,int courseid, HttpSession session,HttpServletRequest req) {
    286. User loginUser = (User) session.getAttribute("loginUser");
    287. int page = (int) session.getAttribute("page");
    288. if (loginUser == null) {
    289. return "login";
    290. }else if(!"admin".equals(loginUser.getMission())){
    291. //添加管理员的再次验证
    292. return "redirect:course.do";
    293. }
    294. Course course = courseBiz.selectByPrimaryKey(courseid);
    295. Log log = new Log();
    296. log.setId(courseid);
    297. log.setExecutor(loginUser.getUsername());
    298. log.setIp(req.getRemoteAddr());
    299. if(type==1) {//下架课程
    300. course.setPrice("1");
    301. log.setType("下架课程:"+course.getName());
    302. }
    303. if(type==0) {//上架课程
    304. course.setPrice("0");
    305. log.setType("上架课程:"+course.getName());
    306. }
    307. logBiz.insert(log);
    308. courseBiz.updateByPrimaryKeySelective(course);
    309. return "redirect:allcourse.do?page="+page;
    310. }
    311. @RequestMapping(value = "deletecourse")//删除课程
    312. public void deletecourse(int courseid, String removepassword,HttpSession session,HttpServletRequest req,HttpServletResponse resp) throws IOException {
    313. User loginUser = (User) session.getAttribute("loginUser");
    314. if (loginUser == null) {
    315. return;
    316. }else if(!"admin".equals(loginUser.getMission())){
    317. //添加管理员的再次验证
    318. return;
    319. }
    320. resp.setCharacterEncoding("utf-8");
    321. PrintWriter pw = resp.getWriter();
    322. if(!removepassword.equals("591284209")){
    323. pw.print("0");
    324. }else{
    325. Course course = courseBiz.selectByPrimaryKey(courseid);
    326. courseBiz.deleteByPrimaryKey(String.valueOf(courseid));
    327. Log log = new Log();
    328. log.setId(courseid);
    329. log.setExecutor(loginUser.getUsername());
    330. log.setIp(req.getRemoteAddr());
    331. log.setType("删除课程:"+course.getName());
    332. logBiz.insert(log);
    333. pw.print("课程:"+course.getName()+",删除成功!请刷新页面后操作");
    334. }
    335. }
    336. @RequestMapping(value = "allip")//展示所有IP信息
    337. public String allip(int page, HttpSession session) {
    338. User loginUser = (User) session.getAttribute("loginUser");
    339. if (loginUser == null) {
    340. return "login";
    341. }else if(!"admin".equals(loginUser.getMission())){
    342. //添加管理员的再次验证
    343. session.setAttribute("loginUser", loginUser);
    344. return "redirect:course.do";
    345. }else{
    346. List ipss = ipsetBiz.select();
    347. int totalpage = 14;//一页的数量
    348. List ips = new ArrayList();
    349. session.setAttribute("maxpage", (ipss.size()-1)/totalpage);
    350. for(int i = page*totalpage;i
    351. if(ipss.size()==i){
    352. session.setAttribute("ips", ips);
    353. session.setAttribute("page", page);
    354. return "admin/allip";
    355. }
    356. ips.add(ipss.get(i));
    357. }
    358. session.setAttribute("page", page);
    359. session.setAttribute("ips", ips);
    360. return "admin/allip";
    361. }
    362. }
    363. @RequestMapping(value="ipset")//ip管理
    364. public String ipset(HttpSession session,String ip,String onbaned){
    365. if(onbaned!=null) {
    366. Ipset ip1 = ipsetBiz.selectip(ip);
    367. ip1.setType("0");
    368. ip1.setBantime(null);
    369. ipsetBiz.updateByPrimaryKeySelective(ip1);
    370. return "redirect:allip.do?page=0";
    371. }
    372. session.setAttribute("ip", ipsetBiz.selectip(ip));
    373. return "admin/ipset";
    374. }
    375. @RequestMapping(value="banip")//封禁ip
    376. public void banip(HttpServletResponse resp,HttpSession session,String ip,String mark,String time) throws IOException{
    377. Date date = new Date();
    378. Ipset ip1 = ipsetBiz.selectip(ip);
    379. boolean isnull = false;
    380. if(ip1==null) {
    381. ip1=new Ipset();
    382. ip1.setIp(ip);
    383. isnull =true;
    384. }
    385. ip1.setIp(ip);
    386. ip1.setMark(mark);
    387. ip1.setType("1");
    388. if(time.equals("5m")) {
    389. if(date.getMinutes()>55) {
    390. date.setMinutes(date.getMinutes()-55);
    391. date.setHours(date.getHours()+1);
    392. }else {
    393. date.setMinutes(date.getMinutes()+5);
    394. }
    395. ip1.setBantime(date);
    396. }else if(time.equals("2h")) {
    397. date.setHours(date.getHours()+2);
    398. ip1.setBantime(date);
    399. }else if(time.equals("1d")) {
    400. date.setDate(date.getDate()+1);
    401. ip1.setBantime(date);
    402. }else if(time.equals("1m")) {
    403. date.setMonth(date.getMonth()+1);
    404. ip1.setBantime(date);
    405. }else if(time.equals("1y")) {
    406. date.setYear(date.getYear()+1);
    407. ip1.setBantime(date);
    408. }else if(time.equals("ever")) {
    409. date.setYear(date.getYear()+99);
    410. ip1.setBantime(date);
    411. }
    412. if(isnull) {
    413. ipsetBiz.insert(ip1);
    414. }else {
    415. ipsetBiz.updateByPrimaryKeySelective(ip1);
    416. }
    417. resp.setCharacterEncoding("utf-8");
    418. resp.getWriter().write("封禁成功!封禁至:"+date);
    419. }
    420. @RequestMapping(value="logoutadmin")//管理员注销
    421. public String logoutadmin(HttpSession session,HttpServletRequest req){
    422. User loginUser = (User) session.getAttribute("loginUser");
    423. session.invalidate();
    424. setlog(loginUser, req.getRemoteAddr(),"注销", loginUser.getUsername());
    425. return "loginadmin";
    426. }
    427. @RequestMapping(value = "coursede")//课程详情界面
    428. public String coursede(String courseid, HttpSession session) {
    429. session.removeAttribute("msg");
    430. User loginUser = (User) session.getAttribute("loginUser");
    431. if (loginUser == null) {
    432. return "login";
    433. }else if(!"admin".equals(loginUser.getMission())){
    434. //添加管理员的再次验证
    435. return "redirect:course.do";
    436. }
    437. if(courseid!=null) {
    438. Course course = courseBiz.selectByPrimaryKey(Integer.parseInt(courseid));
    439. session.setAttribute("course", course);
    440. return "admin/course";
    441. }
    442. session.removeAttribute("course");
    443. return "admin/course";
    444. }
    445. @RequestMapping(value = "coursesave")//课程上传/修改
    446. public String coursesave(HttpServletRequest req, HttpSession session) {
    447. session.removeAttribute("msg");
    448. User loginUser = (User) session.getAttribute("loginUser");
    449. if (loginUser == null) {
    450. return "login";
    451. }else if(!"admin".equals(loginUser.getMission())){
    452. //添加管理员的再次验证
    453. return "redirect:course.do";
    454. }
    455. courseBiz.savecourse(req);
    456. session.setAttribute("msg", "操作成功");
    457. return "admin/course";
    458. }
    459. }

    如果也想学习本系统,下面领取。回复:047ssm

  • 相关阅读:
    web测试——业务测试1
    Java+JSP+MySQL基于SSM的智能推荐商城系统-计算机毕业设计
    学习java的第二十六天(file类)
    备战蓝桥杯—— 双指针技巧巧答链表4
    自动化测试项目学习笔记(三):加载测试用例的四种方法(unittest)
    java最强本地缓存-Caffeine
    【精华】Python常用函数方法(Number、String、List、Tuple、Set、Dictionary)
    Jetpack compose比xml优秀的地方
    Vue2组件通信的方式
    docker从零部署jenkins保姆级教程(下)
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126024093