- 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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!