作者主页:夜未央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
运行截图
前台界面
管理员页面
代码相关
用户管理控制器
@Controller
public class UserController {
@Autowired
UserBiz userBiz;
@Autowired
CourseBiz courseBiz;
@Autowired
MessageBiz messageBiz;
@Autowired
ReviewBiz reviewBiz;
@Autowired
LogBiz logBiz;
/**
* 普通日志写入
*
* @param loginUser
* @param ip
* @param type
*/
public void setlog(User loginUser, String ip, String type) {
Log log = new Log();
log.setUserid(loginUser.getId());
log.setUsername(loginUser.getUsername());
log.setIp(ip);
log.setType(type);
logBiz.insert(log);
}
@RequestMapping(value = "login")
public String login(User user, HttpSession session, HttpServletRequest req) {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("username", user.getUsername());
paramMap.put("password", user.getPassword());
User loginUser = userBiz.selectLoginUser(paramMap);
if (loginUser == null) {
return "login";
}
setlog(loginUser, req.getRemoteAddr(), "登录");
session.setAttribute("loginUser", loginUser);
return "redirect:course.do";
}
@RequestMapping(value = "logout") // 注销登出
public String logout(String type, User user, HttpSession session, HttpServletRequest req) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
} else {
session.invalidate();
if (type == "admin") {
setlog(loginUser, req.getRemoteAddr(), "管理员注销");
return "loginadmin";
} else
setlog(loginUser, req.getRemoteAddr(), "注销");
return "redirect:index.do";
}
}
/*
* ajax密码检查
*/
@RequestMapping(value = "passwordcheck")
public void selectUser(User user, HttpSession session, HttpServletResponse response, HttpServletRequest req)
throws IOException {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("username", user.getUsername());
paramMap.put("password", user.getPassword());
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
if (userBiz.selectUser(paramMap) == 1) {
if (!"admin".equals(userBiz.selectLoginUser(paramMap).getMission())) {
if (userBiz.selectLoginUser(paramMap).getBuycase() != null) {
if ("1".equals(userBiz.selectLoginUser(paramMap).getBuycase())) {
out.println("3");// 屏蔽登录
} else
out.println("1");// 正常登录密码正确
} else {
out.println("1");
}
} else {
out.println("2");// 管理员返回
}
} else {
Log log = new Log();
log.setIp(req.getRemoteAddr());
log.setType("尝试登录账号:" + user.getUsername() + ",密码错误");
logBiz.insert(log);
out.println("0");//密码错误返回值
}
}
@RequestMapping(value = "usercheck")
// 注册检查
public void Usercheck(String username, HttpSession session, HttpServletResponse response) throws IOException {
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
int i = userBiz.selectUser(username);
out.println(i);
}
@RequestMapping(value = "quickregist")
// 快速注册
public String insertUser(String varcode, User user, HttpSession session, HttpServletRequest req) {
String id = DateUtil.getId();
String username = user.getUsername();
String revarcode = (String) session.getAttribute("varcodenumber");
if (varcode == null) {
return "redirect:course.do";
}
if (userBiz.selectUser(username) == 1 || !varcode.equals(revarcode)) {
return "redirect:course.do";
}
user.setId(id);
user.setMission(null);
user.setBuycase(null);
user.setMycase(null);
user.setVip(null);
userBiz.insertSelective(user);
session.setAttribute("loginUser", user);
setlog(user, req.getRemoteAddr(), "快速注册");
return "redirect:course.do";
}
@RequestMapping(value = "regist")
// 注册
public String regist(String varcode, User user, HttpSession session, HttpServletRequest req) {
String id = DateUtil.getId();
String username = user.getUsername();
String revarcode = (String) session.getAttribute("varcodenumber");
if (varcode == null) {
return "redirect:course.do";
}
if (userBiz.selectUser(username) == 1 || !varcode.equals(revarcode)) {
return "redirect:course.do";
}
user.setId(id);
user.setMission(null);
user.setBuycase(null);
user.setMycase(null);
user.setVip(null);
userBiz.insertSelective(user);
setlog(user, req.getRemoteAddr(), "普通注册");
return "redirect:course.do";
}
@RequestMapping(value = "showvip")
// 会员中心
public String showvip(HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser != null) {
loginUser = userBiz.selectByPrimaryKey(loginUser.getId());
session.setAttribute("loginUser", loginUser);
}
return "vip";
}
@RequestMapping(value = "mylearn")
// 我的课程查询
public String myCourse(HttpSession session, Map map) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}
List<Course> courses = new ArrayList<Course>();
List<Message> messages = messageBiz.selectmy(loginUser.getId());
for (int i = 0; i < messages.size(); i++) {
int a = messages.get(i).getCourseid();
Course course = courseBiz.selectByPrimaryKey(a);
courses.add(course);
}
map.put("mycourses", courses);
return "mylearn";
}
@RequestMapping(value = "course")
// 主页课程查询
public String Course(HttpSession session, Map map) {
List<Course> courses = courseBiz.selectAllCourse();
map.put("courses", courses);
return "courseindex";
}
@RequestMapping(value = "coursedetail")
// 单课程主页
public String Courseindex(int id, HttpSession session, Map map) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}
Message message = new Message();
message.setCourseid(id);
message.setUserid(loginUser.getId());
Message me = messageBiz.select(message);
if (me == null) {
map.put("isSelect", false);
} else {
map.put("isSelect", true);
}
Course course = courseBiz.selectByPrimaryKey(id);
map.put("course", course);
return "coursedetail";
}
@RequestMapping(value = "coursevideo")
// 单课程视屏
public String Coursevideo(int courseid, HttpSession session, Map map) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}
Course course = courseBiz.selectByPrimaryKey(courseid);
if ("1".equals(course.getType())) {
if (loginUser.getVip() == null) {
return "vip";
}
}
map.put("course", course);
List<Review> reviews = reviewBiz.select(courseid);
map.put("reviews", reviews);
return "coursevideo";
}
@RequestMapping(value = "insertCourse")
// 加入课程
public void insertCourse(int courseid, String userid, HttpSession session, HttpServletRequest req,
HttpServletResponse response) throws IOException {
String result = "订阅成功!";
User user = (User) session.getAttribute("loginUser");
Course c = courseBiz.selectByPrimaryKey(courseid);
if (user.getVip() == null && "1".equals(c.getType())) {
result = "此课程是会员课程,请购买会员!";
} else {
Message message = new Message();
message.setCourseid(courseid);
message.setUserid(userid);
int i = messageBiz.insert(message);
setlog(user, req.getRemoteAddr(), "订阅课程:" + c.getName());
}
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.print(result);
}
@RequestMapping(value = "deleteCourse")
// 删除课程
public String deleteCourse(int courseid, String userid, HttpServletResponse response, HttpServletRequest req)
throws IOException {
Message message = new Message();
message.setCourseid(courseid);
message.setUserid(userid);
PrintWriter out = response.getWriter();
int i = messageBiz.delete(message);
User loginUser = userBiz.selectByPrimaryKey(userid);
Course c = courseBiz.selectByPrimaryKey(courseid);
setlog(loginUser, req.getRemoteAddr(), "取消课程:" + c.getName());
String result = i > 0 ? "true" : "false";
return result;
}
@RequestMapping(value = "infoset")
// 个人信息设置
public String Infoset(User user, HttpSession session, HttpServletRequest req) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}
user.setCollect(loginUser.getCollect());
List<Review> reviews = reviewBiz.selectbyuserid(loginUser.getUsername());
for (int a = 0; a < reviews.size(); a++) {
reviews.get(a).setSex(user.getSex());
}
reviewBiz.updateByPrimaryKeySelective(reviews);
userBiz.updateByPrimaryKeySelective(user);
Map map = new HashMap<String, String>();
map.put("username", loginUser.getUsername());
map.put("password", loginUser.getPassword());
session.setAttribute("loginUser", userBiz.selectLoginUser(map));
setlog(loginUser, req.getRemoteAddr(), "个人信息更改");
return "redirect:course.do";
}
@RequestMapping(value = "vip")
// vip购买 0为1个月,1为半年,2为一年
public void Vip(HttpSession session, int viptype, HttpServletResponse response, HttpServletRequest req)
throws IOException {
String data = "已经成功充值";
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
// return "login";
}
List<Review> reviews = reviewBiz.selectbyuserid(loginUser.getUsername());
int collect = loginUser.getCollect();
boolean isvip = false;
boolean is = true;
Date date = new Date();
Date vipdate = loginUser.getVip();
if (vipdate == null) {
is = false;
} else if (vipdate.getTime() > date.getTime()) {
is = false;
}
if (vipdate == null || is) {
if (viptype == 0) {
if (collect < 500) {
data = "余额不足,请联系管理员充值!";
} else {
loginUser.setCollect(collect - 500);
vipdate = new Date();
vipdate.setMonth(vipdate.getMonth() + 1);
loginUser.setVip(vipdate);
isvip = true;
setlog(loginUser, req.getRemoteAddr(), "购买会员:一个月");
}
} else if (viptype == 1) {
if (Integer.valueOf(loginUser.getCollect()) < 2000) {
data = "余额不足,请联系管理员充值!";
} else {
loginUser.setCollect(collect - 2000);
vipdate = new Date();
vipdate.setMonth(vipdate.getMonth() + 6);
loginUser.setVip(vipdate);
isvip = true;
setlog(loginUser, req.getRemoteAddr(), "购买会员:半年");
}
} else if (viptype == 2) {
if (collect < 3000) {
data = "余额不足,请联系管理员充值!";
} else {
loginUser.setCollect(collect - 3000);
vipdate = new Date();
vipdate.setYear(vipdate.getYear() + 1);
loginUser.setVip(vipdate);
isvip = true;
setlog(loginUser, req.getRemoteAddr(), "购买会员:一年");
}
}
} else {
if (viptype == 0) {
if (collect < 500) {
data = "余额不足,请联系管理员充值!";
} else {
loginUser.setCollect(collect - 500);
vipdate.setMonth(vipdate.getMonth() + 1);
loginUser.setVip(vipdate);
isvip = true;
setlog(loginUser, req.getRemoteAddr(), "购买会员:一个月");
}
} else if (viptype == 1) {
if (collect < 2000) {
data = "余额不足,请联系管理员充值!";
} else {
loginUser.setCollect(collect - 2000);
vipdate.setMonth(vipdate.getMonth() + 6);
loginUser.setVip(vipdate);
isvip = true;
setlog(loginUser, req.getRemoteAddr(), "购买会员:半年");
}
} else if (viptype == 2) {
if (collect < 3000) {
data = "余额不足,请联系管理员充值!";
} else {
loginUser.setCollect(collect - 3000);
vipdate.setYear(vipdate.getYear() + 1);
loginUser.setVip(vipdate);
isvip = true;
setlog(loginUser, req.getRemoteAddr(), "购买会员:一年");
}
}
}
if (isvip = true) {
for (int a = 0; a < reviews.size(); a++) {
reviews.get(a).setVip(1);
}
}
reviewBiz.updateByPrimaryKeySelective(reviews);
userBiz.updateByPrimaryKeySelective(loginUser);
Map map = new HashMap<String, String>();
map.put("username", loginUser.getUsername());
map.put("password", loginUser.getPassword());
session.setAttribute("loginUser", userBiz.selectLoginUser(map));
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println(data);
}
}
管理控制器
@Controller
public class AdminController {
@Autowired
UserBiz userBiz;
@Autowired
LogBiz logBiz;
@Autowired
CourseBiz courseBiz;
@Autowired
IpsetBiz ipsetBiz;
public void setlog(User loginUser,String ip,String type,String adminname){
Log log = new Log();
log.setUserid(loginUser.getId());
log.setUsername(loginUser.getUsername());
log.setIp(ip);
log.setType(type);
log.setExecutor(adminname);
logBiz.insert(log);
}
@RequestMapping(value = "adminlogin")//管理员登录
public String adminlogin(User user, HttpSession session,HttpServletRequest req) {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("username", user.getUsername());
paramMap.put("password", user.getPassword());
User loginUser = userBiz.selectLoginUser(paramMap);
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员登录的再次验证,防止直接跳过前端验证进行强制登录
session.setAttribute("loginUser", loginUser);
Log log = new Log();
log.setUserid(loginUser.getId());
log.setUsername(loginUser.getUsername());
log.setIp(req.getRemoteAddr());
log.setType("用户尝试强制登录管理员页面");
logBiz.insert(log);
return "redirect:course.do";
}else{
session.setAttribute("loginUser", loginUser);
setlog(loginUser, req.getRemoteAddr(),"登录", loginUser.getUsername());
return "admin/leftmeun";
}
}
@RequestMapping(value = "alluser")//展示所有用户
public String alluser(int page, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
session.setAttribute("loginUser", loginUser);
return "redirect:course.do";
}else{
List<User> userss = userBiz.selectAllUser();
int totalpage = 14;//一页的数量
List<User> users = new ArrayList<User>();
session.setAttribute("maxpage", (userss.size()-1)/totalpage);
for(int i = page*totalpage;i<page*totalpage+totalpage;i++){
if(userss.size()==i){
session.setAttribute("users", users);
session.setAttribute("page", page);
return "admin/alluser";
}
users.add(userss.get(i));
}
session.setAttribute("page", page);
session.setAttribute("loginUser", loginUser);
session.setAttribute("users", users);
return "admin/alluser";
}
}
@RequestMapping(value = "banuser")//屏蔽和恢复用户
public String banuser(String userid,int type, HttpSession session,HttpServletRequest req) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
session.setAttribute("loginUser", loginUser);
return "redirect:course.do";
}else{
if(type==0){//0为屏蔽用户
User user = userBiz.selectByPrimaryKey(userid);
user.setBuycase("1");
userBiz.updateByPrimaryKeySelective(user);
setlog(user,req.getRemoteAddr(),"屏蔽用户登录",loginUser.getUsername());
return "redirect:alluser.do?page=0";
}
if(type==1){//1为恢复用户
User user = userBiz.selectByPrimaryKey(userid);
user.setBuycase("0");
userBiz.updateByPrimaryKeySelective(user);
setlog(user,req.getRemoteAddr(),"恢复用户登录",loginUser.getUsername());
return "redirect:alluser.do?page=0";
}
}
return "redirect:alluser.do?page=0";
}
@RequestMapping(value = "rechargeindex")//充值余额界面
public String rechargeindex( HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
return "admin/recharge";
}
@RequestMapping(value = "recharge")//充值余额
public void recharge(String userid,int collect, String paypassword,HttpServletRequest req,
HttpSession session,HttpServletResponse resp) throws IOException {
User loginUser = (User) session.getAttribute("loginUser");
resp.setCharacterEncoding("utf-8");
PrintWriter pw = resp.getWriter();
User user = userBiz.selectByPrimaryKey(userid);
if(user==null){
pw.print("用户ID不存在!请核实后再充值");
}else if(!paypassword.equals("591284209")){
pw.print("0");
}else{
user.setCollect(user.getCollect()+collect);
userBiz.updateByPrimaryKeySelective(user);
setlog(user,req.getRemoteAddr(),"充值"+collect+"元",loginUser.getUsername());
pw.print("账户"+userid+",充值"+collect+"元成功,余额:"+user.getCollect());
}
}
@RequestMapping(value = "newuser")//新建用户界面,用户详情界面
public String newuser(String userid, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
if(userid!=null){
User user = userBiz.selectByPrimaryKey(userid);
session.setAttribute("user", user);
return "admin/newuser";
}else{
session.removeAttribute("user");
return "admin/newuser";
}
}
@RequestMapping(value = "newadduser")//新建账户
public String newadduser(User newuser,HttpSession session,HttpServletRequest req){
User loginUser = (User) session.getAttribute("loginUser");
newuser.setId(DateUtil.getId());
userBiz.insertSelective(newuser);
setlog(newuser,req.getRemoteAddr(),"创建用户",loginUser.getUsername());
return "redirect:newuser.do";
}
@RequestMapping(value = "setuser")//修改账户
public String setuser(User user,HttpSession session,HttpServletRequest req){
User loginUser = (User) session.getAttribute("loginUser");
userBiz.updateByPrimaryKeySelective(user);
setlog(user,req.getRemoteAddr(),"修改用户信息",loginUser.getUsername());
return "redirect:alluser.do?page=0";
}
@RequestMapping(value = "removeuser")//删除用户
public void removeuser(String userid,String removepassword,HttpSession session,HttpServletRequest req,
HttpServletResponse resp) throws IOException {
User loginUser = (User) session.getAttribute("loginUser");
resp.setCharacterEncoding("utf-8");
PrintWriter pw = resp.getWriter();
if(!removepassword.equals("591284209")){
pw.print("0");
}else{
User user = userBiz.selectByPrimaryKey(userid);
userBiz.deleteByPrimaryKey(userid);
setlog(user,req.getRemoteAddr(),"删除用户",loginUser.getUsername());
pw.print("账户:"+userid+",删除成功");
List<User> users = userBiz.selectAllUser();
session.setAttribute("users", users);
}
}
@RequestMapping(value = "showlog")//日志查看
public String showlog(String seachusername,String type, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
if(seachusername!=null&&type==null){
List<Log> logs = logBiz.selectbyusername(seachusername);
session.setAttribute("logss", logs);
session.removeAttribute("type");
session.setAttribute("logs", initlogpage(logs));
session.setAttribute("maxpage", (logs.size()-1)/15);//10为每页个数
session.setAttribute("page", 0);
return "admin/log";
}
if(type!=null&&seachusername==null){
List<Log> logs = logBiz.selectadminlog();
session.setAttribute("type", "admin");
session.setAttribute("logss", logs);
session.setAttribute("logs", initlogpage(logs));
session.setAttribute("maxpage", (logs.size()-1)/15);
session.setAttribute("page", 0);
return "admin/log";
}
if(type==null&&seachusername==null){
List<Log> logs = logBiz.select();
session.removeAttribute("type");
session.setAttribute("logss", logs);
session.setAttribute("logs", initlogpage(logs));
session.setAttribute("maxpage", (logs.size()-1)/15);
session.setAttribute("page", 0);
return "admin/log";
}
if(type!=null&&seachusername!=null){
List<Log> logs = logBiz.selectadminlogbyusername(seachusername);
session.removeAttribute("type");
session.setAttribute("logss", logs);
session.setAttribute("logs", initlogpage(logs));
session.setAttribute("maxpage", (logs.size()-1)/15);
session.setAttribute("page", 0);
return "admin/log";
}
List<Log> logs = logBiz.select();
session.removeAttribute("type");
session.setAttribute("logss", logs);
session.setAttribute("logs", initlogpage(logs));
session.setAttribute("maxpage", (logs.size()-1)/15);
session.setAttribute("page", 0);
return "admin/log";
}
public List<Log> initlogpage(List<Log> logss){//第一次传输日志
int totalpage = 15;//一页的数量
List<Log> logs = new ArrayList<Log>();
for(int i = 0;i<totalpage;i++){
if(logss.size()==i)
return logs;
logs.add(logss.get(i));
}
return logs;
}
@RequestMapping(value = "logpage")//日志翻页
public String logpage(int page,HttpSession session){
List<Log> logss = (List<Log>) session.getAttribute("logss");
int rpage = (int) session.getAttribute("page");
int totalpage = 15;//一页的数量
List<Log> logs = new ArrayList<Log>();
for(int i = page*totalpage;i<page*totalpage+totalpage;i++){
if(logss.size()==i){
session.setAttribute("logs", logs);
session.setAttribute("page", page);
return "admin/log";
}
logs.add(logss.get(i));
}
session.setAttribute("logs", logs);
session.setAttribute("page", page);
return "admin/log";
}
@RequestMapping(value = "allcourse")//全部课程界面
public String allcourseindex(int page, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
List<Course> coursess = courseBiz.selectAllCourse();
int totalpage = 14;//一页的数量
List<Course> courses = new ArrayList<Course>();
session.setAttribute("maxpage", (coursess.size()-1)/totalpage);
for(int i = page*totalpage;i<page*totalpage+totalpage;i++){
if(coursess.size()==i){
session.setAttribute("courses", courses);
session.setAttribute("page", page);
return "admin/allcourse";
}
courses.add(coursess.get(i));
}
session.setAttribute("page", page);
session.setAttribute("courses", courses);
return "admin/allcourse";
}
@RequestMapping(value = "bancourse")//上下架课程
public String bancourse(int type,int courseid, HttpSession session,HttpServletRequest req) {
User loginUser = (User) session.getAttribute("loginUser");
int page = (int) session.getAttribute("page");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
Course course = courseBiz.selectByPrimaryKey(courseid);
Log log = new Log();
log.setId(courseid);
log.setExecutor(loginUser.getUsername());
log.setIp(req.getRemoteAddr());
if(type==1) {//下架课程
course.setPrice("1");
log.setType("下架课程:"+course.getName());
}
if(type==0) {//上架课程
course.setPrice("0");
log.setType("上架课程:"+course.getName());
}
logBiz.insert(log);
courseBiz.updateByPrimaryKeySelective(course);
return "redirect:allcourse.do?page="+page;
}
@RequestMapping(value = "deletecourse")//删除课程
public void deletecourse(int courseid, String removepassword,HttpSession session,HttpServletRequest req,HttpServletResponse resp) throws IOException {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return;
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return;
}
resp.setCharacterEncoding("utf-8");
PrintWriter pw = resp.getWriter();
if(!removepassword.equals("591284209")){
pw.print("0");
}else{
Course course = courseBiz.selectByPrimaryKey(courseid);
courseBiz.deleteByPrimaryKey(String.valueOf(courseid));
Log log = new Log();
log.setId(courseid);
log.setExecutor(loginUser.getUsername());
log.setIp(req.getRemoteAddr());
log.setType("删除课程:"+course.getName());
logBiz.insert(log);
pw.print("课程:"+course.getName()+",删除成功!请刷新页面后操作");
}
}
@RequestMapping(value = "allip")//展示所有IP信息
public String allip(int page, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
session.setAttribute("loginUser", loginUser);
return "redirect:course.do";
}else{
List<Ipset> ipss = ipsetBiz.select();
int totalpage = 14;//一页的数量
List<Ipset> ips = new ArrayList<Ipset>();
session.setAttribute("maxpage", (ipss.size()-1)/totalpage);
for(int i = page*totalpage;i<page*totalpage+totalpage;i++){
if(ipss.size()==i){
session.setAttribute("ips", ips);
session.setAttribute("page", page);
return "admin/allip";
}
ips.add(ipss.get(i));
}
session.setAttribute("page", page);
session.setAttribute("ips", ips);
return "admin/allip";
}
}
@RequestMapping(value="ipset")//ip管理
public String ipset(HttpSession session,String ip,String onbaned){
if(onbaned!=null) {
Ipset ip1 = ipsetBiz.selectip(ip);
ip1.setType("0");
ip1.setBantime(null);
ipsetBiz.updateByPrimaryKeySelective(ip1);
return "redirect:allip.do?page=0";
}
session.setAttribute("ip", ipsetBiz.selectip(ip));
return "admin/ipset";
}
@RequestMapping(value="banip")//封禁ip
public void banip(HttpServletResponse resp,HttpSession session,String ip,String mark,String time) throws IOException{
Date date = new Date();
Ipset ip1 = ipsetBiz.selectip(ip);
boolean isnull = false;
if(ip1==null) {
ip1=new Ipset();
ip1.setIp(ip);
isnull =true;
}
ip1.setIp(ip);
ip1.setMark(mark);
ip1.setType("1");
if(time.equals("5m")) {
if(date.getMinutes()>55) {
date.setMinutes(date.getMinutes()-55);
date.setHours(date.getHours()+1);
}else {
date.setMinutes(date.getMinutes()+5);
}
ip1.setBantime(date);
}else if(time.equals("2h")) {
date.setHours(date.getHours()+2);
ip1.setBantime(date);
}else if(time.equals("1d")) {
date.setDate(date.getDate()+1);
ip1.setBantime(date);
}else if(time.equals("1m")) {
date.setMonth(date.getMonth()+1);
ip1.setBantime(date);
}else if(time.equals("1y")) {
date.setYear(date.getYear()+1);
ip1.setBantime(date);
}else if(time.equals("ever")) {
date.setYear(date.getYear()+99);
ip1.setBantime(date);
}
if(isnull) {
ipsetBiz.insert(ip1);
}else {
ipsetBiz.updateByPrimaryKeySelective(ip1);
}
resp.setCharacterEncoding("utf-8");
resp.getWriter().write("封禁成功!封禁至:"+date);
}
@RequestMapping(value="logoutadmin")//管理员注销
public String logoutadmin(HttpSession session,HttpServletRequest req){
User loginUser = (User) session.getAttribute("loginUser");
session.invalidate();
setlog(loginUser, req.getRemoteAddr(),"注销", loginUser.getUsername());
return "loginadmin";
}
@RequestMapping(value = "coursede")//课程详情界面
public String coursede(String courseid, HttpSession session) {
session.removeAttribute("msg");
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
if(courseid!=null) {
Course course = courseBiz.selectByPrimaryKey(Integer.parseInt(courseid));
session.setAttribute("course", course);
return "admin/course";
}
session.removeAttribute("course");
return "admin/course";
}
@RequestMapping(value = "coursesave")//课程上传/修改
public String coursesave(HttpServletRequest req, HttpSession session) {
session.removeAttribute("msg");
User loginUser = (User) session.getAttribute("loginUser");
if (loginUser == null) {
return "login";
}else if(!"admin".equals(loginUser.getMission())){
//添加管理员的再次验证
return "redirect:course.do";
}
courseBiz.savecourse(req);
session.setAttribute("msg", "操作成功");
return "admin/course";
}
}
如果也想学习本系统,下面领取。回复:047ssm