基于javaweb的家校通管理系统(java+ssm+jsp+bootstrap+echarts+mysql)

基于javaweb的家校通管理系统(java+ssm+jsp+bootstrap+echarts+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819205053

20220819205054

20220819205055

20220819205056

20220819205057

20220819205059

基于javaweb+mysql的家校通管理系统(java+SSM+JSP+bootstrap+echarts+Mysql)

项目介绍

本项目包含管理员、教师、家长用户三种角色; 管理员角色包含以下功能: 管理员登录,用户注册申请,学校用户账号管理,学校管理员管理,网站介绍管理,系统公告管理,网站新闻发布,新闻审核管理,公告审核管理等功能。

教师角色包含以下功能: 教师登录,学生管理,考试管理,沟通交流管理,布置作业等功能。

家长用户角色包含以下功能: 用户首页,网站新闻,公告信息,用户登录,家长互动等功能。

环境需要

1.运行环境:jdk必须使用JDK7,其它版本暂不支持。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

  1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+css+javascriipt+bootstrap+jQuery+echarts

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入地址 登录

用户管理控制层:

@Controller

@RequestMapping(“UsersServlet”)

public class UsersController {

private UsersDao usersDao = new UsersDao();

@Autowired

private HttpServletRequest request;

@RequestMapping(“/loginadmin”)

public String loginadmin() {

String username = request.getParameter(“username”);

String password = request.getParameter(“password”);

Users users = usersDao.login(username, password);

if (users != null) {

request.getSession().setAttribute(“loginUsers”, users);

return “admin_index”;

} else {

request.setAttribute(“msg”, “登录失败,账号密码不匹配”);

return “admin_login”;

@RequestMapping(“/userlogin”)

public String userlogin() {

String userName = request.getParameter(“username”);

String password = request.getParameter(“password”);

String clientCheckcode = request.getParameter(“validateCode”);

String serverCheckcode = (String) request.getSession().getAttribute(“checkcode”);

if (clientCheckcode.equals(serverCheckcode)) {

// 2. 去访问dao , 看看是否满足登录。

Users Users = usersDao.userlogin(userName, password);

// 3. 针对dao的返回结果,做出响应

if (Users != null) {

request.getSession().setAttribute(“usersLogin”, Users);

CategoryDao categoryDao = new CategoryDao();

List categoryList = categoryDao.queryAll();

request.setAttribute(“categoryList”, categoryList.stream().filter(x -> x.getState().equals(“1”)).collect(Collectors.toList()));

return “index”;

} else {

request.setAttribute(“error”, “用户名或密码错误!”);

return “login”;

} else {

request.setAttribute(“error”, “登录失败,验证码不正确!”);

return “login”;

@RequestMapping(“/userreg”)

public String userreg() {

String username = request.getParameter(“username”);

String password = request.getParameter(“password”);

String account = request.getParameter(“account”);

String email = request.getParameter(“email”);

String password2 = request.getParameter(“password2”);

if (!password.equals(password2)) {

request.setAttribute(“error”, “注册失败,密码与确认密码不一致!”);

return “reg”;

} else {

boolean isSuccess = usersDao.isReg(account);

if (!isSuccess) {

request.setAttribute(“error”, “注册失败,该用户名已存在!”);

return “reg”;

} else {

usersDao.reg(username, account, password, email);

request.setAttribute(“error”, “注册成功!”);

return “reg”;

@RequestMapping(“/listforadmin”)

public String listforadmin() {

List list = usersDao.getUsers();

request.setAttribute(“list”, list);

return “listusers”;

@RequestMapping(“/del”)

public String del(Integer id) {

usersDao.del(id);

List list = usersDao.getUsers();

request.setAttribute(“list”, list);

return “listusers”;

新闻管理控制层:

@Controller

@RequestMapping(“NewsServlet”)

public class NewsController {

@Autowired

private HttpServletRequest request;

private NewsDao newsDao = new NewsDao();

private CategoryDao categoryDao = new CategoryDao();

private CommentsDao commentsDao = new CommentsDao();

@RequestMapping(“/publish”)

public String publish(){

String title = request.getParameter(“title”);

String content = request.getParameter(“content”);

String categoryid = request.getParameter(“categoryid”);

Users users = (Users) request.getSession().getAttribute(“loginUsers”);

Integer usersId = users.getId();

Integer deptid = users.getDeptid();

News news = new News();

news.setCategoryid(Integer.parseInt(categoryid));

news.setClicks(0);

news.setContent(content);

news.setPbdate(new Date());

news.setPbdeptid(deptid);

news.setPublisher(usersId);

news.setCategoryid(Integer.parseInt(categoryid));

news.setTitle(title);

newsDao.save(news);

return “redirect:listforadmin”;

@RequestMapping(“/listforadmin”)

public String listforadmin(){

List newsList = newsDao.queryAll();

request.setAttribute(“list”, newsList);

return “listnews”;

@RequestMapping(“/toaddnews”)

public String toaddnews(){

List newsList = newsDao.queryAll();

request.setAttribute(“list”, newsList);

List categoryList = categoryDao.queryAll();

request.setAttribute(“categoryList”, categoryList);

return “addnews”;

@RequestMapping(“/edit”)

public String edit(){

String title = request.getParameter(“title”);

String content = request.getParameter(“content”);

String categoryid = request.getParameter(“categoryid”);

News news = new News();

news.setCategoryid(Integer.parseInt(categoryid));

news.setContent(content);

news.setPbdate(new Date());

news.setId(Integer.parseInt(request.getParameter(“id”)));

news.setTitle(title);

newsDao.edit(news);

return “redirect:listforadmin”;

@RequestMapping(“/del”)

public String del(){

newsDao.deleteById(Integer.parseInt(request.getParameter(“id”)));

List newsList = newsDao.queryAll();

request.setAttribute(“list”, newsList);

return “listnews”;

@RequestMapping(“/toeditnews”)

public String toeditnews(){

News news = newsDao.queryByid(Integer.parseInt(request.getParameter(“id”)));

request.setAttribute(“v”, news);

List categoryList = categoryDao.queryAll();

request.setAttribute(“categoryList”, categoryList);

return “editnews”;

@RequestMapping(“/queryByType”)

public String queryByType(){

String categoryid = request.getParameter(“categoryid”);

List newsList = newsDao.queryAll();

request.setAttribute(“list”, newsList.stream()

.filter(x -> x.getCategoryid().equals(Integer.parseInt(categoryid))).collect(Collectors.toList()));

List categoryList = categoryDao.queryAll();

request.setAttribute(“categoryList”,

categoryList.stream().filter(x -> x.getState().equals(“1”)).collect(Collectors.toList()));

return “typenews”;

@RequestMapping(“/detail”)

public String detail(){

//测试

String id = request.getParameter(“id”);

if(id.contains(“.jsp”))

id= request.getParameter(“id”).replaceAll(“.jsp”,“”);

News news = newsDao.queryByid(Integer.parseInt(id));

news.setClicks(news.getClicks() + 1);

newsDao.setClicksIncrement(news);

NewsDetail detail = new NewsDetail();

detail.setNews(news);

Category category = categoryDao.queryById(news.getCategoryid());

detail.setCategory(category);

String content = news.getContent();

int length = content.length();

length = length / 60;

length = length * 27 + 10;

request.setAttribute(“length”, length);

request.setAttribute(“v”, detail);

List categoryList = categoryDao.queryAll();

List commentsList = commentsDao.getByNewsId(news.getId());

request.setAttribute(“commentsList”, commentsList);

request.setAttribute(“contentstr”, content);

request.setAttribute(“categoryList”,

categoryList.stream().filter(x -> x.getState().equals(“1”)).collect(Collectors.toList()));

return “detailnews”;

@RequestMapping(“/search”)

public String search(){

String search = request.getParameter(“search”);

request.setAttribute(“searchStr”, search);

List newsList = newsDao.queryAll();

newsList=newsList.stream().filter(x -> x.getTitle().contains(search)).collect(Collectors.toList());

newsList= newsList.stream().map(x->{

String title = x.getTitle();

/* String[] split = title.split(search);

*/

/*if(split.length>=2){

for(int i=0;i<split.length-1;i++){

title=split[i]+“”+search+“”+split[i+1];

}else{

title=split[0]+“”+search+“”;

}*/

title=title.replace(search, “”+search+“”);

System.out.println(title);

x.setTitle(title);

return x;

}).collect(Collectors.toList());

request.setAttribute(“list”,newsList

);

List categoryList = categoryDao.queryAll();

request.setAttribute(“categoryList”,

categoryList.stream().filter(x -> x.getState().equals(“1”)).collect(Collectors.toList()));

return “searchnews”;

公告管理控制层:

@Controller

@RequestMapping(“CategoryServlet”)

public class CategoryController {

@Autowired

private HttpServletRequest request;

private CategoryDao categoryDao=new CategoryDao();

@RequestMapping(“/listforadmin”)

public String listforadmin(){

List categoryList = categoryDao.queryAll();

request.setAttribute(“list”, categoryList);

return “listcategory”;

@RequestMapping(“/show”)

public String show(){

List categoryList = categoryDao.queryAll();

categoryList=categoryList.stream().filter(x->x.getState().equals(“1”)).collect(Collectors.toList());

if(categoryList.size()>=5)

request.setAttribute(“list”, categoryDao.queryAll());

request.setAttribute(“msg”,“设置栏目显示失败,前台栏目最多显示5个”);

return “listcategory”;

}else {

categoryDao.show(Integer.parseInt(request.getParameter(“id”)));

return “redirect:listforadmin”;

@RequestMapping(“/hidden”)

public String hidden(){

categoryDao.hidden(Integer.parseInt(request.getParameter(“id”)));

return “redirect:listforadmin”;

@RequestMapping(“/add”)

public String add(){

String name=request.getParameter(“name”);

String state=request.getParameter(“state”);

Category category=new Category();

category.setName(name);

category.setState(state);

categoryDao.save(category);

return “redirect:listforadmin”;


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网选课系统是一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理:管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理:管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统是一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理和选课规则管理等功能。在实现时需要注意数据库表的设计和技术实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值