项目描述
临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇基于springboot的作业管理系统设计与实现。
功能需求
本系统设计是基于springboot的作业管理系统的设计与实现,可以提供给学校管理、教职工、学生更便捷的操作和服务功能。经过需求分析后首先对系统主要功能进行设计,搭建出总体的框架和划分主要模块,对系统的数据库也进行设计流程进行搭建。根据线上作业管理系统的特点,可以将其分为学生、教师、管理员三个橘色进行设计。
具备以下功能:
1、学生的功能:
登录、个人中心、公告查看、作业上传、在线提问。
2、教师的功能:
登录、公告管理、查看学生、课后作业管理、在线答疑、退出系统、修改信息。
3、系统管理功能:
登录、公告管理、教师管理、院校管理、学生管理、学生分配管理、退出系统、修改信息。
部分效果图
部分代码
@ServerEndpoint("/websocket/{username}")
@Controller
public class WebSocketController {
private Logger logger = LoggerFactory.getLogger(this.getClass());
public static int onlineNumber = 0;
private static Map<String, WebSocketController> clients = new ConcurrentHashMap<String, WebSocketController>();
private Session session;
private String username;
@RequestMapping("/websocket")
public String webSocket(Model model, HttpSession session) {
String name = "用户:";
String datename = new SimpleDateFormat("msss").format(new Date());
name = name + datename;
String path = "ws://localhost:9050/websocket/";
model.addAttribute("path", path);
model.addAttribute("username",name);
return "student/talk/studentTalk";
}
@OnOpen
public void onOpen(@PathParam("username") String username, Session session) {
onlineNumber++;
this.username = username;
this.session = session;
logger.info("现在来连接的客户id:" + session.getId() + "用户名:" + username);
logger.info("有新连接加入! 当前在线人数" + onlineNumber);
try {
clients.put(username, this);
Set<String> lists = clients.keySet();
Map<String, Object> map1 = new HashMap();
map1.put("onlineUsers", lists);
map1.put("messageType", 1);
map1.put("username", username);
map1.put("number", onlineNumber);
sendMessageAll(JSON.toJSONString(map1), username);
Map<String, Object> map2 = new HashMap();
map2.put("messageType", 3);
map2.put("onlineUsers", lists);
map2.put("number", onlineNumber);
sendMessageTo(JSON.toJSONString(map2), username);
} catch (IOException e) {
logger.info(username + "上线的时候通知所有人发生了错误");
}
}
@OnClose
public void onClose() {
onlineNumber--;
clients.remove(username);
try {
Map<String, Object> map1 = new HashMap();
map1.put("messageType", 2);
map1.put("onlineUsers", clients.keySet());
map1.put("username", username);
map1.put("number", onlineNumber);
sendMessageAll(JSON.toJSONString(map1), username);
} catch (IOException e) {
logger.info(username + "下线的时候通知所有人发生了错误");
}
logger.info("有连接关闭! 当前在线人数" + onlineNumber);
}
@OnError
public void onError(Session session, Throwable error) {
logger.info("服务端发生了错误" + error.getMessage());
}
@OnMessage
public void onMessage(String message, Session session) {
try {
logger.info("来自客户端消息:" + message + "客户端的id是:" + session.getId());
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(message);
String textMessage = jsonObject.getString("message");
String fromusername = jsonObject.getString("username");
String tousername = jsonObject.getString("to");
Map<String, Object> map1 = new HashMap();
map1.put("messageType", 4);
map1.put("textMessage", textMessage);
map1.put("fromusername", fromusername);
if (tousername.equals("All")) {
map1.put("tousername", "所有人");
sendMessageAll(JSON.toJSONString(map1), fromusername);
} else {
map1.put("tousername", tousername);
sendMessageTo(JSON.toJSONString(map1), tousername);
}
} catch (Exception e) {
logger.info("发生了错误了");
}
}
public void sendMessageTo(String message, String ToUserName) throws IOException {
for (WebSocketController item : clients.values()) {
if (item.username.equals(ToUserName)) {
item.session.getBasicRemote().sendText(message);
break;
}
}
}
public void sendMessageAll(String message, String FromUserName) throws IOException {
for (WebSocketController item : clients.values()) {
item.session.getBasicRemote().sendText(message);
}
}
public static synchronized int getOnlineCount() {
return onlineNumber;
}
}
安装部署需求
eclipse、idea运行启动
系统部署
系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在eclipse中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件
本项目用到的技术和框架
1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+Springboot+Mybatis
本项目中的关键点
此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。
环境工具
开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、Springboot
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)