- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章基于java ssm springboot实现选课推荐交流平台系统由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
夏天到了、小雪来给大家降降温 。
话不多说、直接进入主题 。
。
登录注册、首页信息浏览、选课分类查看、选课详情查看、评论交流、收藏、浏览量、以及后台数据管理、用户管理、选课类别管理、选课信息详情管理、评论交流和回复管理、以及公告信息管理等 。
。
Java、springmvc、mybatis、mysql、tomcat、jquery、layui、JavaScript、html、css、jsp、log4j等一些常见的基本技术.
。
输入http://localhost/访问选课推荐交流平台首页、可以查看轮播图以及各类信息、点击进入详情页面 。
点击查看分类课程推荐信息、按照类别查看课程信息、管理员可以在后台添加课程分类信息 。
以及根据访问量来进行点击排行、 。
课程详情可以查看课程详情信息以及作者信息和浏览量等具体数据、也可以进行评论和收藏等操作 。
包括我的个人信息和收藏夹信息、 。
主要功能模块有首页的信息统计、选课类型管理、选课详情管理、用户管理、评论和公告管理等数据维护.
列表信息查看添加修改删除以及检索等操作 。
详情信息 。
数据列表查看和添加修改删除等操作 。
评论和回复的数据管理 。
。
package com.longwang.controller;import com.longwang.entity.Article;import com.longwang.entity.Classify;import com.longwang.entity.User;import com.longwang.service.ArticleService;import com.longwang.service.ClassifyService;import com.longwang.service.NoticeService;import com.longwang.service.UserService;import com.longwang.util.DateUtil;import com.longwang.util.StringUtil;import org.apache.commons.io.FileUtils;import org.apache.commons.lang.StringUtils;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.servlet.ModelAndView;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import java.io.File;import java.util.*;/*** 根路径以及其他请求处理* * @author 李杨勇**/@Controllerpublic class IndexController {@Value("${imageFilePath}")private String imageFilePath; // 文件路径@Resourceprivate NoticeService noticeService;@Resourceprivate UserService userService;@Resourceprivate ArticleService articleService;@Resourceprivate ClassifyService classifyService;@RequestMapping("/")public String index(HttpSession session) { // 查询公告 session.setAttribute("noticeList", noticeService.list(0, 5)); return "index";// 跳转到index.html}@RequestMapping("/delete")public Map<String, Object> delete(Integer userId) { Map<String, Object> resultMap = new HashMap<String, Object>(); userService.delete(userId); resultMap.put("errorNo", 0); return resultMap;}/** * 登录页面 * * @return */@RequestMapping("/login")public String login() { return "login";}/** * 前台登录页面 * * @return */@RequestMapping("/webLogin")public String webLogin() { return "webLogin";}/** * 注册 * * @return */@RequestMapping("/regist")public String regist() { return "regist";}/** * 保存注册信息 * * @param user * @return */@RequestMapping("/saveUser")public String saveUser(User user) { List<Article> randomArticle = articleService.getRandomArticle(3); String ids=""; for (int i = 0; i < randomArticle.size(); i++) { Integer articleId = randomArticle.get(i).getArticleId(); ids+=articleId+","; } ids = ids.substring(0, ids.length() -1); user.setArticleIds(ids); userService.save(user); return "webLogin";}/** * 退出登录 * * @param request * @return */@RequestMapping("/quit")public String quit(HttpServletRequest request) { HttpSession session = request.getSession(); session.removeAttribute("user"); return "index";}/** * 退出登录 * * @param request * @return */@RequestMapping("/quitAdmin")public String quitAdmin(HttpServletRequest request) { HttpSession session = request.getSession(); session.removeAttribute("user"); return "login";}/** * 验证登录 * * @param user * @param request * @return */@RequestMapping("/checkLogin")public ModelAndView checkLogin(User user, HttpServletRequest request) { ModelAndView mav = new ModelAndView(); HttpSession session = request.getSession(); User u = userService.findByUsernameAndPassword(user.getUsername(), user.getPassword()); if (u == null) { mav.addObject("user", user); mav.addObject("errorInfo", "用户名或者密码错误!"); mav.setViewName("webLogin"); } else { u.setLatelyLoginTime(new Date()); userService.save(u); session.setAttribute("user", u); mav.addObject("username", u.getUsername()); mav.addObject("user", u); mav.addObject("success", true); mav.setViewName("/index"); } return mav;}/** * 查看个人信息 * * @return */@RequestMapping("viewPerson")public ModelAndView viewPerson(HttpServletRequest request) { User user = (User) request.getSession().getAttribute("user"); ModelAndView mav = new ModelAndView(); User u = userService.findById(user.getUserId()); mav.addObject("user", u); mav.setViewName("/viewPerson"); return mav;}/** * 查看个人课程收藏夹 * * @return */@RequestMapping("viewCollection")public ModelAndView viewCollection(HttpServletRequest request, HttpSession session) { User user = (User) request.getSession().getAttribute("user"); ModelAndView mav = new ModelAndView(); User u = userService.findById(user.getUserId()); String artIds = u.getArticleIds(); List<String> result = new ArrayList<>(); if (StringUtils.isNotBlank(artIds)) { result = Arrays.asList(StringUtils.split(artIds, ",")); } List<Integer> retIds = new ArrayList<>(); for (String temp : result) { retIds.add(Integer.valueOf(temp).intValue()); } List<Article> retArt = articleService.findByListId(retIds); session.setAttribute("noticeList", noticeService.list(0, 5)); mav.addObject("retArt", retArt); mav.addObject("user", u); mav.setViewName("/viewCollection"); return mav;}/** * 查看个人关注用户 * * @return */@RequestMapping("viewFocusUser")public ModelAndView viewFocusUser(HttpServletRequest request, HttpSession session) { User user = (User) request.getSession().getAttribute("user"); ModelAndView mav = new ModelAndView(); User u = userService.findById(user.getUserId()); String userIds = u.getUserIds(); List<String> result = new ArrayList<>(); if (StringUtils.isNotBlank(userIds)) { result = Arrays.asList(StringUtils.split(userIds, ",")); } List<Integer> retIds = new ArrayList<>(); for (String temp : result) { retIds.add(Integer.valueOf(temp).intValue()); } List<User> retArt = userService.findByListId(retIds); session.setAttribute("noticeList", noticeService.list(0, 5)); mav.addObject("retArt", retArt); mav.addObject("user", u); mav.setViewName("/viewFocusUser"); return mav;}/** * 保存用户信息 * * @param user * @return */@RequestMapping("/save")public ModelAndView save(User user) { ModelAndView mav = new ModelAndView(); userService.save(user); mav.setViewName("/index"); return mav;}/** * 写笔记页面 * * @param request * @return */// @RequestMapping("notePage")// public String notePage(HttpServletRequest request, Model model) {// User user = (User) request.getSession().getAttribute("user");// if (user == null) {// return "webLogin";// }// List<Classify> list = classifyService.findAll();// model.addAttribute("list", list);// return "one";// }@RequestMapping("notePage")public ModelAndView notePage(HttpServletRequest request) { ModelAndView mav = new ModelAndView(); User user = (User) request.getSession().getAttribute("user"); if (user == null) { mav.setViewName("/webLogin"); return mav; } List<Classify> list = classifyService.findAll(); mav.addObject("list", list); mav.setViewName("/one"); return mav;}/** * 保存笔记 * * @param article * @param request * @return */@RequestMapping("addNote")public ModelAndView addNote(Article article, HttpServletRequest request) { ModelAndView mav = new ModelAndView(); // 获取当前用户信息 User user = (User) request.getSession().getAttribute("user"); article.setUserId(user.getUserId()); article.setPublishDate(new Date()); article.setClick(0); article.setCommentNum(0); article.setContentNoTag(StringUtil.Html2Text(article.getContent())); articleService.save(article); mav.setViewName("/index"); return mav;}@RequestMapping("saveNote")public ModelAndView saveNote(Article article, HttpServletRequest request) { ModelAndView mav = new ModelAndView(); Article a = articleService.findById(article.getArticleId()); article.setPublishDate(a.getPublishDate()); // 获取当前用户信息 articleService.save(article); mav.setViewName("/index"); return mav;}/** * 查看笔记 * * @return */@RequestMapping("viewNote")public String viewNote(HttpSession session) { session.setAttribute("noticeList", noticeService.list(0, 5)); return "mylist";}@RequestMapping("/delete/{id}")public String delete(@PathVariable(value = "id") String id) throws Exception { articleService.delete(Integer.parseInt(id)); return "mylist";}/** * 查看个人笔记加载数据列表 * * @param article * @param publishDates * @param page * @param pageSize * @return */@RequestMapping("/mylist")public Map<String, Object> list(Article article, @RequestParam(value = "publishDates", required = false) String publishDates, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "pageSize", required = false) Integer pageSize, HttpServletRequest request) { Map<String, Object> resultMap = new HashMap<String, Object>(); // User user = (User) request.getSession().getAttribute("user"); // article.setUserId(user.getUserId()); String s_bPublishDate = null; // 开始时间 String s_ePublishDate = null; // 结束时间 if (StringUtil.isNotEmpty(publishDates)) { String[] strs = publishDates.split(" - "); // 拆分时间段 s_bPublishDate = strs[0]; s_ePublishDate = strs[1]; } Long total = articleService.getCount(article, s_bPublishDate, s_ePublishDate); int totalPage = (int) (total % pageSize == 0 ? total / pageSize : total / pageSize + 1); // 总页数 resultMap.put("totalPage", totalPage); resultMap.put("errorNo", 0); resultMap.put("data", articleService.list(article, s_bPublishDate, s_ePublishDate, page - 1, pageSize)); resultMap.put("total", total); return resultMap;}/** * 后台默认首页 * * @return */@RequestMapping("/index")public String root() { return "/common/index";}/** * 博主信息页面 * * @return */@RequestMapping("/blogger")public String blogger() { return "/blogger/index";}/** * 图片上传处理 @Title: ckeditorUpload @param file 图片文件 @return 参数说明 @return * Map<String,Object> 返回类型 @throws */@ResponseBody@RequestMapping("/upload")public Map<String, Object> ckeditorUpload(@RequestParam("file") MultipartFile file) { Map<String, Object> resultMap = new HashMap<String, Object>(); Map<String, Object> resultMap1 = new HashMap<String, Object>(); String fileName = file.getOriginalFilename(); // 获取文件名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); // 获取文件的后缀 String newFileName = ""; try { newFileName = DateUtil.getCurrentDateStr() + suffixName; // 新文件名 FileUtils.copyInputStreamToFile(file.getInputStream(), new File(imageFilePath + newFileName)); // 上传 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } resultMap.put("code", 0); resultMap1.put("filePath", newFileName); resultMap.put("data", resultMap1); return resultMap;}}
server: port: 80servlet: context-path: /spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/choosing_courses?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: 123456jpa: hibernate: ddl-auto: update show-sql: true database-platform: org.hibernate.dialect.MySQLDialectthymeleaf: cache: falsethymeleaf: prefix: classpath:/templates/MD5Salt: longwangimageFilePath: C:\\Users\\Administrator\\Desktop\\choosingCourses\\src\\main\\webapp\\static\\images\\downloadImagePath: C:\\Users\\Administrator\\Desktop\\choosingCourses\\src\\main\\webapplucenePath: C:\\Users\\Administrator\\Desktop\\choosingCourses\\lucene
。
CREATE TABLE `NewTable` (`user_id` int(11) NOT NULL AUTO_INCREMENT ,`head_portrait` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`lately_login_time` datetime NULL DEFAULT NULL ,`nickname` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`registration_date` datetime NULL DEFAULT NULL ,`sex` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`open_id` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`article_ids` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`birthday` date NULL DEFAULT NULL ,`momo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`user_ids` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,PRIMARY KEY (`user_id`))ENGINE=InnoDBDEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ciAUTO_INCREMENT=20ROW_FORMAT=COMPACT;
CREATE TABLE `NewTable` (`classify_id` int(11) NOT NULL AUTO_INCREMENT ,`classify_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ,PRIMARY KEY (`classify_id`))ENGINE=InnoDBDEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ciAUTO_INCREMENT=27ROW_FORMAT=COMPACT;
CREATE TABLE `NewTable` (`article_id` int(11) NOT NULL AUTO_INCREMENT ,`author` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ,`click` int(11) NULL DEFAULT NULL ,`comment_num` int(11) NULL DEFAULT NULL ,`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL ,`image_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ,`is_original` int(11) NULL DEFAULT NULL ,`is_top` int(11) NULL DEFAULT NULL ,`publish_date` datetime NULL DEFAULT NULL ,`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ,`classify_id` int(11) NULL DEFAULT NULL ,`user_id` int(11) NULL DEFAULT NULL ,PRIMARY KEY (`article_id`),FOREIGN KEY (`classify_id`) REFERENCES `t_classify` (`classify_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,INDEX `FKo4fros4yfq1m9ay7sgtlcvbc4` (`classify_id`) USING BTREE )ENGINE=InnoDBDEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ciAUTO_INCREMENT=58ROW_FORMAT=COMPACT;
CREATE TABLE `NewTable` (`comment_id` int(11) NOT NULL AUTO_INCREMENT ,`comment_date` datetime NULL DEFAULT NULL ,`content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ,`article_id` int(11) NULL DEFAULT NULL ,`user_id` int(11) NULL DEFAULT NULL ,PRIMARY KEY (`comment_id`),FOREIGN KEY (`article_id`) REFERENCES `t_article` (`article_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,FOREIGN KEY (`user_id`) REFERENCES `t_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,INDEX `FKlsvvc2ob8lxg2m9qqry15ru0y` (`article_id`) USING BTREE ,INDEX `FKtamaoacctq4qpko6bvtv0ke1p` (`user_id`) USING BTREE )ENGINE=InnoDBDEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ciAUTO_INCREMENT=15ROW_FORMAT=COMPACT;
CREATE TABLE `NewTable` (`reply_id` int(11) NOT NULL AUTO_INCREMENT ,`content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ,`reply_date` datetime NULL DEFAULT NULL ,`comment_id` int(11) NULL DEFAULT NULL ,`user_id` int(11) NULL DEFAULT NULL ,PRIMARY KEY (`reply_id`),FOREIGN KEY (`comment_id`) REFERENCES `t_comment` (`comment_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,FOREIGN KEY (`user_id`) REFERENCES `t_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,INDEX `FKk4ydp71wampdbnguly8iks4rf` (`comment_id`) USING BTREE ,INDEX `FKslt6r79iw1p9cbxns09erjv6v` (`user_id`) USING BTREE )ENGINE=InnoDBDEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ciAUTO_INCREMENT=6ROW_FORMAT=COMPACT;
到此这篇关于选课推荐交流平台系统基于java ssm springboot实现的文章就介绍到这了,更多相关交流平台系统内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://lyyong.blog.csdn.net/article/details/118344279 。
最后此篇关于基于java ssm springboot实现选课推荐交流平台系统的文章就讲到这里了,如果你想了解更多关于基于java ssm springboot实现选课推荐交流平台系统的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有这个代码: System.err.print("number of terms = "); System.out.println(allTerms.size()); System.err
我有以下问题:在操作系统是 Linux 的情况下和在操作系统是 MacOs 的情况下,我必须执行不同的操作。 所以我创建了以下 Ant 脚本目标: /u
我正在调用 system("bash ../tools/bashScript\"This is an argument!\"&"),然后我正在调用 close(socketFD) 直接在 system
使用最初生成的随机元素来约束随机数组的连续元素是否有效。 例如:我想生成一组 10 个 addr、size 对来模拟典型的内存分配例程并具有如下类: class abc; rand bit[5:0
我正在创建一个必须使用system(const char*)函数来完成一些“繁重工作”的应用程序,并且我需要能够为用户提供粗略的进度百分比。例如,如果操作系统正在为您移动文件,它会为您提供一个进度条,
我即将编写一些项目经理、开发人员和业务分析师会使用的标准/指南和模板。目标是更好地理解正在开发或已经开发的解决方案。 其中一部分是提供有关记录解决方案的标准/指南。例如。记录解决/满足业务案例/用户需
在开发使用压缩磁盘索引或磁盘文件的应用程序时,其中部分索引或文件被重复访问(为了论证,让我们说一些类似于 Zipfian 分布的东西),我想知道什么时候足够/更好地依赖操作系统级缓存(例如,Debia
我们编写了一个 powershell 脚本,用于处理来自内部系统的图像并将其发送到另一个系统。现在,业务的另一部分希望加入其中,对数据进行自己的处理,并将其推送到另一个系统。打听了一下,公司周围有几个
我正在尝试朗姆酒我的应用程序,但我收到以下错误:System.Web.HttpUnhandledException:引发了“System.Web.HttpUnhandledException”类型的异
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
所以我在其他程序中没有收到此错误,但我在这个程序中收到了它。 这个程序是一个我没有收到错误的示例。 #include int main() { system("pause"); } // en
我在 c# System.URI.FormatExption 中遇到问题 为了清楚起见,我使用的是 Segseuil 的 Matlab 方法,并且它返回一个图片路径 result。我想为其他用户保存此
我正在尝试像这样设置文本框的背景色: txtCompanyName.BackColor = Drawing.Color.WhiteSmoke; 它不喜欢它,因为它要我在前面添加系统,例如: txtCo
请帮助我解决 System.StackOverflowException我想用 .aspx 将记录写入数据库我使用 4 层架构来实现这一切都正常但是当我编译页面然后它显示要插入数据的字段时,当我将数据
我使用了一些通常由系统调用的API。 因此,我将 android:sharedUserId="android.uid.system" 添加到 manifest.xml, 并使用来自 GIT 的 And
我正在尝试创建一个小型应用程序,它需要对/system 文件夹进行读/写访问(它正在尝试删除一个文件,并创建一个新文件来代替它)。我可以使用 adb 毫无问题地重新挂载该文件夹,如果我这样做,我的应用
我想从没有 su 的系统 priv-app 将/system 重新挂载为 RW。如何以编程方式执行此操作?只会用 Runtime.getruntime().exec() 执行一个 shell 命令吗
我正在尝试制作一个带有登录系统的程序我对此很陌生,但我已经连续工作 8 个小时试图解决这个问题。这是我得到的错误代码 + ServerVersion 'con.ServerVersion' threw
当我“构建并运行”Code::Blocks 中的程序时,它运行得非常好!但是当我从“/bin”文件夹手动运行它时,当它试图用 system() 调用“temp.bat”时,它会重置。这是为什么?它没有
我想使用 system/pipe 命令来执行具有特殊字符的命令。下面是示例代码。通过系统/管道执行命令后,它通过改变特殊字符来改变命令。我很惊讶地看到系统命令正在更改作为命令传递的文本。 run(ch
我是一名优秀的程序员,十分优秀!