IDEA+Java+Servlet+JSP+Mysql实现新闻发布系统(下)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: IDEA+Java+Servlet+JSP+Mysql实现新闻发布系统

NewsAdd

package com.cqut.recruitPortal.servlet;
import com.cqut.recruitPortal.entity.Operator;
import com.cqut.recruitPortal.service.NewsService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
/**
 * Servlet implementation class NewsAdd
 */
public class NewsAdd extends HttpServlet {
    private static final long serialVersionUID = 1L;
    NewsService service = new NewsService();
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        boolean isOK = true;
        String title = request.getParameter("title");
        String titleMessage = "";
        if (title == null || title.equals("")) {
            isOK = false;
            titleMessage = "标题不能为空";
        }
        String content = request.getParameter("content");
        String contentMessage = "";
        if (content == null || content.equals("")) {
            isOK = false;
            contentMessage = "内容不能为空";
        } else {
        }
        String deadLine = request.getParameter("deadLine");
        String deadLineMessage = "";
        String type = request.getParameter("type");
        String typeMessage = "";
        if (type == null || type.equals("")) {
            typeMessage = "请选择";
        }
        Long operatorID = ((Operator) request.getSession().getAttribute("loginOperator")).getOperatorID();
        Date publishTime = new Date();
        Date deadLineTime = null;
        if (deadLine != null && !deadLine.equals("")) {
            try {
                deadLineTime = SysUtil.praseDate(deadLine);
                if (deadLineTime.getTime() < publishTime.getTime()) {
                    isOK = false;
                    deadLineMessage = "截至时间不能小于当前时间";
                }
            } catch (ParseException e) {
                isOK = false;
                deadLineMessage = "截至时间格式不正确,应为:2014-01-14 22:51:10";
                e.printStackTrace();
            }
        }
        String addMessage = "";
        if (isOK) {
            String sql = "insert into news(`title`,`content`,`type`,`publishTime`,`deadLine`,`count`,`operator`,`status`) values(?,?,?,?,?,?,?,?)";
            Object objs[] = {title, content, Long.parseLong(type), publishTime, deadLineTime, 0, operatorID, 1};
            int updateCount = service.cd.executeUpdate(sql, objs);
            if (updateCount != 1) {
                addMessage = "新增失败";
            } else {
                request.getServletContext().getRequestDispatcher("/admin/NewsServlet").forward(request, response);
                return;
            }
        }
        request.setAttribute("titleMessage", titleMessage);
        request.setAttribute("contentMessage", contentMessage);
        request.setAttribute("deadLineMessage", deadLineMessage);
        request.setAttribute("typeMessage", typeMessage);
        request.setAttribute("addMessage", addMessage);
        request.setAttribute("title", title);
        request.setAttribute("content", content);
        request.setAttribute("deadLine", deadLine);
        //request.setAttribute("title", title);
        String phtml = service.createOperationPermissionHtml(type, operatorID);
        request.setAttribute("phtml", phtml);
        request.getServletContext().getRequestDispatcher("/admin/newsAdd.jsp").forward(request, response);
    }
}

NewsCanclePublish

package com.cqut.recruitPortal.servlet;
import com.cqut.recruitPortal.service.NewsService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * Servlet implementation class NewsCanclePublish
 */
public class NewsCanclePublish extends HttpServlet {
    private static final long serialVersionUID = 1L;
    NewsService service = new NewsService();
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String newsID = request.getParameter("newsID");
        //更新状态为3
        String sql = "update news set status=3 where newsID=?";
        service.cd.executeUpdate(sql, new Object[]{Long.parseLong(newsID)});
        request.getServletContext().getRequestDispatcher("/admin/NewsServlet").forward(request, response);
    }
}

NewsDelete

package com.cqut.recruitPortal.servlet;
import com.cqut.recruitPortal.service.NewsService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * Servlet implementation class NewsDelete
 */
public class NewsDelete extends HttpServlet {
    private static final long serialVersionUID = 1L;
    NewsService service = new NewsService();
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String newsID = request.getParameter("newsID");
        //删除
        String sql = "delete from news where newsID=?";
        service.cd.executeUpdate(sql, new Object[]{Long.parseLong(newsID)});
        request.getServletContext().getRequestDispatcher("/admin/NewsServlet").forward(request, response);
    }
}

NewsDetail

package com.cqut.recruitPortal.servlet;
import com.cqut.recruitPortal.service.NewsService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Map;
public class NewsDetail extends HttpServlet {
    private static final long serialVersionUID = 1L;
    NewsService service = new NewsService();
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String newsID = request.getParameter("newsID");
        //查询给定ID的 新闻
        String sql = "select n.newsID AS newsID, " +
                "n.title AS title, " +
                "n.publishTime AS publishTime, " +
                "n.deadLine AS deadLine, " +
                "n.count AS count, " +
                "n.operator AS operator, " +
                "n.type AS type, " +
                "nt.`name` AS typeName, " +
                "o.`name` AS operatorName, " +
                "n.`content` AS content, " +
                "n.`status` AS status " +
                "from news n LEFT JOIN newstype AS nt ON n.type = nt.newsTypeID " +
                "LEFT JOIN operator AS o ON o.operatorID = n.operator where newsID=?";
        List<Map<String, Object>> listMap = service.cd.executeQuery(sql, new Object[]{Long.parseLong(newsID)});
        if (listMap.size() == 1) {
            Map<String, Object> news = listMap.get(0);
            if (news.get("publishTime") != null) {
                news.put("publishTime", SysUtil.formatDate((Date) news.get("publishTime")));
            }
            if (news.get("deadLine") != null) {
                news.put("deadLine", SysUtil.formatDate((Date) news.get("deadLine")));
            }
            //为了在jsp页面上有格式我们需要做一定的处理
            String content = news.get("content").toString();
            content = content.replaceAll(" ", "&nbsp;");
            content = content.replaceAll("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
            content = content.replaceAll("\r\n", "<br/>");
            news.put("content", content);
            request.setAttribute("news", news);
        }
        request.getServletContext().getRequestDispatcher("/admin/newsDetail.jsp").forward(request, response);
    }
}

NewsEdit

package com.cqut.recruitPortal.servlet;
import com.cqut.recruitPortal.entity.Operator;
import com.cqut.recruitPortal.service.NewsService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * Servlet implementation class NewsEdit
 */
public class NewsEdit extends HttpServlet {
    private static final long serialVersionUID = 1L;
    NewsService service = new NewsService();
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        boolean isOK = true;
        String newsID = request.getParameter("newsID");
        String title = request.getParameter("title");
        String titleMessage = "";
        if (title == null || title.equals("")) {
            isOK = false;
            titleMessage = "标题不能为空";
        }
        String content = request.getParameter("content");
        String contentMessage = "";
        if (content == null || content.equals("")) {
            isOK = false;
            contentMessage = "内容不能为空";
        }
        String type = request.getParameter("type");
        String typeMessage = "";
        if (type == null || type.equals("")) {
            typeMessage = "请选择";
        }
        Long operatorID = ((Operator) request.getSession().getAttribute("loginOperator")).getOperatorID();
        Date publishTime = new Date();
        Date deadLineTime = null;
        String deadLine = request.getParameter("deadLine");
        String deadLineMessage = "";
        if (deadLine != null && !deadLine.equals("")) {
            try {
                deadLineTime = SysUtil.praseDate(deadLine);
                if (deadLineTime.getTime() < publishTime.getTime()) {
                    isOK = false;
                    deadLineMessage = "截至时间不能小于当前时间";
                }
            } catch (ParseException e) {
                isOK = false;
                deadLineMessage = "截至时间格式不正确,应为:2014-01-14 22:51:10";
                e.printStackTrace();
            }
        }
        String addMessage = "";
        if (isOK) {
            String updateSql = "update news set `title`=?, `content`=?, `type`=?, `deadLine`=? where newsID=?";
            Object objs[] = {title, content, Long.parseLong(type), deadLineTime, Long.parseLong(newsID)};
            int updateCount = service.cd.executeUpdate(updateSql, objs);
            if (updateCount != 1) {
                addMessage = "编辑失败";
            } else {
                request.getServletContext().getRequestDispatcher("/admin/NewsServlet").forward(request, response);
                return;
            }
        }
        request.setAttribute("titleMessage", titleMessage);
        request.setAttribute("contentMessage", contentMessage);
        request.setAttribute("deadLineMessage", deadLineMessage);
        request.setAttribute("typeMessage", typeMessage);
        request.setAttribute("addMessage", addMessage);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("title", title);
        map.put("content", content);
        map.put("deadLine", deadLine);
        map.put("newsID", newsID);
        request.setAttribute("news", map);
        //request.setAttribute("title", title);
        String phtml = service.createOperationPermissionHtml(type, operatorID);
        request.setAttribute("phtml", phtml);
        request.getServletContext().getRequestDispatcher("/admin/newsEdit.jsp").forward(request, response);
    }
}

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>后台管理</title>
    <style type="text/css">
        body {
            margin: 0;
        }
        /*下面的 css 用于框架的布局*/
        .content {
            position: absolute;
            top: 87px;
            left: 0;
            bottom: 0;
            right: 0;
        }
        .left {
            position: absolute;
            left: 5px;
            width: 190px;
            bottom: 5px;
            top: 5px;
            overflow-x: hidden;
            overflow-y: auto;
            border: 1px solid #e5e5e5;
        }
        .right {
            position: absolute;
            left: 202px;
            top: 5px;
            right: 5px;
            bottom: 5px;
            border: 1px solid #e5e5e5;
        }
        /*设置Iframe的样式*/
        .innerFrame {
            border: 0;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
<!-- ${loginOperator.name} 这样的代码叫做EL表达式 -->
<div>
    <table width="100%" bgcolor="#383838">
        <tr>
            <td width="80%">
            <img alt="" src="image/ll.png">
        </td>
            <td width="20%" valign="middle">
                <div style="height: 32px;line-height: 32px; min-width: 50px;float: left;">
                    <font color="#ffffff">欢迎 ${loginOperator.name}&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</font>
                </div>
                <a href="admin/AdminLogout"><img alt="" src="image/exit.png"></a>
            </td>
        </tr>
    </table>
    <div class="content">
        <div class="left">
            <!-- 系统管理员 -->
            <c:if test="${loginOperator.type==1}">
                <p>&nbsp;&nbsp;<a href="admin/OperatorServlet" target="innerFrame">用户管理</a></p>
                <p>&nbsp;&nbsp;<a href="admin/OperatorTypeServlet" target="innerFrame">用户类型管理</a></p>
                <p>&nbsp;&nbsp;<a href="admin/NewsTypeServlet" target="innerFrame">新闻类型管理</a></p>
                <p>&nbsp;&nbsp;<a href="admin/PermissionServlet" target="innerFrame">权限分配</a></p>
            </c:if>
            <!-- 管理员 -->
            <c:if test="${loginOperator.type==2}">
                <p>&nbsp;&nbsp;<a href="admin/NewsServlet" target="innerFrame">新闻管理</a></p>
            </c:if>
        </div>
        <div class="right">
            <iframe src="admin/welcome.jsp" class="innerFrame" name="innerFrame" frameborder="0" scrolling="auto"
                    style="margin: 0px auto; height: 100%; -ms-overflow-x: hidden;"></iframe>
        </div>
    </div>
</div>
</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>登录</title>
    <link href="css/page.css" rel="stylesheet"/>
    <link href="css/common.css" rel="stylesheet"/>
    <style type="text/css">
        /*为了降低初学的难度,我尽量的不用 css,javascript 。但是 我也会引入一些(毕竟做web,写网站离不开这些东西),在引入的地点我都有详细的说明*/
        .loginform {
            /*这是css。这段代码的作用是让 class属性为 loginform 的 元素水平垂直居中。很经典的代码 */
            position: absolute;
            width: 400px;
            height: 250px;
            top: 50%;
            left: 50%;
            margin-top: -125px;
            margin-left: -200px;
            /*设置边框*/
            border: 1px solid #8a8a8a;
        }
        /*给页面设置背景颜色*/
        body {
            background-color: #e5e5e5;
        }
    </style>
</head>
<body>
<a href="#">前台首页</a>
<hr/>
<div class="loginform">
    <form action="admin/AdminLogin" method="post">
        <br>
        <p class="logintitle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;管理员登录</font></p>
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;<label for="accountField">登录帐号:</label> <input type="text" name="account"
                                                                               value="${account}" id="accountField"/>
        <font color="red">${accountMessage}</font><br><br>
        &nbsp;&nbsp;&nbsp;&nbsp;<label for="passwordField">登录密码:</label> <input type="password" name="password"
                                                                                id="passwordField"/> <font
            color="red">${passwordMessage}</font><br><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit"
                                                                                                   value="登录"/>
    </form>
</div>
</body>
</html>

newsList.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>新闻列表</title>
    <link href="css/page.css" rel="stylesheet"/>
    <link href="css/common.css" rel="stylesheet"/>
</head>
<body>
<table width="100%">
    <tr>
        <td width="50%" align="left" valign="middle">
            当前位置:<a href="admin/NewsServlet">新闻管理</a>
        </td>
        <td align="right">
            <a href="admin/NewsInitAdd">新增</a>
        </td>
    </tr>
</table>
<hr>
<form action="admin/NewsServlet" method="post">
    <p>
        新闻标题:<input type="text" name="querytitle" value="${querytitle}"/> <input type="submit" value="查询"/>
    </p>
</form>
<table width="100%" class="dataTable">
    <thead>
    <tr class="title">
        <td>新闻标题</td>
        <td width="100">类型</td>
        <td width="100" align="center">发布时间</td>
        <td width="100" align="center">截至时间</td>
        <td width="90" align="center">发布人</td>
        <td width="90" align="right">浏览次数</td>
        <td width="90" align="center">状态</td>
        <td width="270">操作</td>
    </tr>
    </thead>
    <tbody>
    <c:forEach items="${list}" var="item">
        <tr>
            <td>${item.title}</td>
            <td>${item.typeName}</td>
            <td align="center">${item.publishTime}</td>
            <td align="center">${item.deadLine }</td>
            <td align="center">${item.operatorName}</td>
            <td align="right">${item.count}</td>
            <td align="center">${item.status}</td>
            <td>${item.operate}</td>
        </tr>
    </c:forEach>
    </tbody>
</table>
<c:if test="${not empty paginationHtml}">
    <div class="page">${paginationHtml}</div>
</c:if>
</body>
</html>


四、其他


1.其他系统实现


1.JavaWeb系统系列实现


Java+JSP实现学生图书管理系统


Java+JSP实现学生信息管理系统


Java+JSP实现用户信息管理系统


Java+Servlet+JSP实现航空订票系统


Java+Servlet+JSP实现学生信息管理系统


Java+Servlet+JSP实现学生选课管理系统


Java+Servlet+JSP实现学生成绩管理系统-1


Java+Servlet+JSP实现学生成绩管理系统-2


Java+Servlet+JSP实现宠物诊所管理系统


Java+SSM+Easyui实现网上考试系统


Java+SSH+Bootstrap实现在线考试系统(含论文)


Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统


2.JavaSwing系统系列实现


Java+Swing实现斗地主游戏


Java+Swing实现图书管理系统


Java+Swing实现医院管理系统


Java+Swing实现仓库管理系统-1


Java+Swing实现仓库管理系统-2


Java+Swing实现考试管理系统


Java+Swing实现自助取款机系统


Java+Swing实现通讯录管理系统


Java+Swing实现停车场管理系统


Java+Swing实现学生信息管理系统


Java+Swing实现学生宿舍管理系统


Java+Swing实现学生选课管理系统


Java+Swing实现学生成绩管理系统


Java+Swing实现学校教材管理系统


Java+Swing实现学校教务管理系统


Java+Swing实现企业人事管理系统


Java+Swing实现电子相册管理系统


Java+Swing实现超市管理系统-TXT存储数据


Java+Swing实现自助取款机系统-TXT存储数据


Java+Swing实现宠物商店管理系统-TXT存储数据


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
25天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
20 1
|
25天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
19 0
|
25天前
|
存储 Java 关系型数据库
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
20 0
|
2天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
8天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
11天前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
|
14天前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
12 1
|
16天前
|
监控 数据可视化 安全
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
环境实时数据、动态监测报警,实时监控施工环境状态,有针对性地预防施工过程中的环境污染问题,打造文明生态施工,创造绿色的生态环境。
14 0
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
|
23天前
|
JavaScript Java 关系型数据库
基于 java + Springboot + vue +mysql 大学生实习管理系统(含源码)
本文档介绍了基于Springboot的实习管理系统的设计与实现。系统采用B/S架构,旨在解决实习管理中的人工管理问题,提高效率。系统特点包括对用户输入的验证和数据安全性保障。功能涵盖首页、个人中心、班级管理、学生管理、教师管理、实习单位管理、实习作业管理、教师评分管理、单位成绩管理和系统管理等。用户分为管理员、教师和学生,各自有不同的操作权限。
|
25天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
7 0