100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > IDEA+Java+Servlet+JSP+Mysql实现学生选课签到系统

IDEA+Java+Servlet+JSP+Mysql实现学生选课签到系统

时间:2021-05-17 09:56:05

相关推荐

IDEA+Java+Servlet+JSP+Mysql实现学生选课签到系统

一、系统介绍

1.开发环境

开发工具:IDEA

JDK版本:jdk1.8

Mysql版本:8.0.13

2.技术选型

Java+Servlet+Boostrap+Jsp+Mysql

3.系统功能

1.用户注册登录系统;

2.管理员审核用户,查看课程选课情况,开启签到,删除课程,修改密码;

3.教师创建课程,查看成员,开启签到,删除课程,修改密码;

4.学生选择课程,退选课程,修改密码;

4.数据库文件

/*Navicat Premium Data TransferSource Server : MYSQLSource Server Type : MySQLSource Server Version : 80013Source Host : localhost:3306Source Schema : servlet_select_courseTarget Server Type : MySQLTarget Server Version : 80013File Encoding : 65001Date: 24/12/ 16:58:38*/SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for tb_courses-- ----------------------------DROP TABLE IF EXISTS `tb_courses`;CREATE TABLE `tb_courses` (`course_id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`teach_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`day` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`is_signin` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`member_num` int(11) NULL DEFAULT NULL,PRIMARY KEY (`course_id`) USING BTREE,INDEX `C_FK`(`teach_id`) USING BTREE,CONSTRAINT `C_FK` FOREIGN KEY (`teach_id`) REFERENCES `tb_users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of tb_courses-- ----------------------------INSERT INTO `tb_courses` VALUES (27, '软件工程', '101', '星期一, 1 - 2 节', 'false', 1);INSERT INTO `tb_courses` VALUES (28, '计算机导论', '104', '星期二, 3 - 4 节', 'false', 0);-- ------------------------------ Table structure for tb_join-- ----------------------------DROP TABLE IF EXISTS `tb_join`;CREATE TABLE `tb_join` (`course_id` int(11) NULL DEFAULT NULL,`stu_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`checked` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of tb_join-- ----------------------------INSERT INTO `tb_join` VALUES (27, '1001', 'true');INSERT INTO `tb_join` VALUES (28, '1001', 'checking');-- ------------------------------ Table structure for tb_signin-- ----------------------------DROP TABLE IF EXISTS `tb_signin`;CREATE TABLE `tb_signin` (`signin_id` int(11) NOT NULL AUTO_INCREMENT,`course_id` int(11) NULL DEFAULT NULL,`time` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`signin_num` int(11) NULL DEFAULT NULL,`end_time` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,PRIMARY KEY (`signin_id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of tb_signin-- ----------------------------INSERT INTO `tb_signin` VALUES (24, 27, '-12-20 15:15:48', 1, '-12-20 15:16:16');-- ------------------------------ Table structure for tb_signin_stu-- ----------------------------DROP TABLE IF EXISTS `tb_signin_stu`;CREATE TABLE `tb_signin_stu` (`signin_id` int(11) NULL DEFAULT NULL,`stu_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`state` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of tb_signin_stu-- ----------------------------INSERT INTO `tb_signin_stu` VALUES (24, '1001', 'true');-- ------------------------------ Table structure for tb_users-- ----------------------------DROP TABLE IF EXISTS `tb_users`;CREATE TABLE `tb_users` (`user_id` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`password` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`name` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`type` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,`checked` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,PRIMARY KEY (`user_id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of tb_users-- ----------------------------INSERT INTO `tb_users` VALUES ('1001', '123456', '同学1', 'stu', 'true');INSERT INTO `tb_users` VALUES ('1002', '123456', '同学2', 'stu', 'true');INSERT INTO `tb_users` VALUES ('101', '123456', '教师1', 'teach', 'true');INSERT INTO `tb_users` VALUES ('102', '123456', '教师2', 'teach', 'true');INSERT INTO `tb_users` VALUES ('103', '123456', '教师3', 'teach', 'true');INSERT INTO `tb_users` VALUES ('104', '123456', '王老师', 'teach', 'true');INSERT INTO `tb_users` VALUES ('105', '123456', '李老师', 'teach', 'false');INSERT INTO `tb_users` VALUES ('admin', 'admin', '管理员', 'admin', 'true');SET FOREIGN_KEY_CHECKS = 1;

二、系统展示

1.登录系统

2.注册系统

3.管理员-首页

4.管理员-管理用户

5.管理员-管理课程

6.管理员-修改密码

7.教师-创建课程

8.教师-我的课程

9.教师-修改密码

10.学生-加入课程

11.学生-我的课程

12.学生-修改密码

三、部分代码

CreateCourseAction

package com.sjsq.servlet;import com.sjsq.bean.Course;import com.sjsq.bean.User;import com.sjsq.dao.CourseDao;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/CreateCourseAction")@MultipartConfigpublic class CreateCourseAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doGet(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String courseName = req.getParameter("courseName");String day = req.getParameter("day");String courseTime = req.getParameter("courseTime");String Day = day + ", " + courseTime;User user = (User) req.getSession().getAttribute("User");String teach_id = user.getId();Course course = new Course(0, courseName, teach_id, Day, "false", 0);CourseDao courseDao = new CourseDao();int result = courseDao.Create(course);if (result == 0) {out.println("<script> alert('创建课程失败'); location='teacher_create.jsp'; </script>");} else if (result == 1) {out.println("<script> alert('创建课程成功'); location='teacher_create.jsp'; </script>");} else {out.println("<script> alert('上课时间冲突'); location='teacher_create.jsp'; </script>");}}}

DeleteAction

package com.sjsq.servlet;import com.sjsq.dao.CourseDao;import com.sjsq.dao.JoinDao;import com.sjsq.dao.UserDao;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;@WebServlet("/DeleteAction")@MultipartConfigpublic class DeleteAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String ope = req.getParameter("ope");if (ope.equals("userdel")) {// 删除用户String user_id = req.getParameter("user_id");UserDao userDao = new UserDao();if (userDao.DelUser(user_id) == 1) {out.println("<script> alert('删除成功'); location='toaudit.jsp'; </script>");} else {out.println("<script> alert('删除失败'); location='toaudit.jsp'; </script>");}} else if (ope.equals("useradd")) {// 用户审核String user_id = req.getParameter("user_id");UserDao userDao = new UserDao();try {if (userDao.Check(user_id) == 1) {out.println("<script> alert('审核通过'); location='toaudit.jsp'; </script>");} else {out.println("<script> alert('操作失败'); location='toaudit.jsp'; </script>");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();out.println("<script> alert('操作失败'); location='toaudit.jsp'; </script>");}} else if (ope.equals("coursedel")) {// 课程删除String c = req.getParameter("course_id");String type = req.getParameter("type");int course_id = Integer.valueOf(c);CourseDao courseDao = new CourseDao();if (courseDao.DelCourse(course_id) == 1) {if (type.equals("admin")) {out.println("<script> alert('课程删除成功'); location='show_all_courses.jsp'; </script>");} else {out.println("<script> alert('课程删除成功'); location='my_courses.jsp'; </script>");}} else {if (type.equals("admin")) {out.println("<script> alert('课程删除失败'); location='show_all_courses.jsp'; </script>");} else {out.println("<script> alert('课程删除失败'); location='my_courses.jsp'; </script>");}}} else if (ope.equals("joindel")) {// 退出选课String c = req.getParameter("course_id");String user_id = req.getParameter("user_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");JoinDao joinDao = new JoinDao();if (joinDao.Delete(course_id, user_id) == 1) {out.println("<script> alert('退出成功'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('退出失败'); location='" + from_ + "'; </script>");}}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}}

LoginAction

package com.sjsq.servlet;import com.sjsq.bean.User;import com.sjsq.dao.UserDao;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;@WebServlet("/LoginAction")@MultipartConfigpublic class LoginAction extends HttpServlet {private static final long serialVersionUID = 1L;public LoginAction() {super();}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {resp.sendRedirect("login.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String user_id = req.getParameter("inputUser_id"); // 从name属性中获取String userPass = req.getParameter("inputPassword");User user = new User();user.setId(user_id);user.setPassword(userPass);UserDao userDao = new UserDao();User user2;try {user2 = userDao.Query(user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();out.println("<script> alert('登陆失败'); location='login.jsp'; </script>");return;}if ((user2.getId()).equals("")) {// 用户不存在out.println("<script> alert('用户不存在'); location='login.jsp'; </script>");} else if (user2.getPassword().equals(userPass)) {// 登陆成功req.getSession(true).setAttribute("User", user2);out.println("<script> alert('登陆成功'); location='index.jsp'; </script>");} else {// 密码错误out.println("<script> alert('密码错误'); location='login.jsp'; </script>");}}}

LogoutAction

package com.sjsq.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;@WebServlet("/LogoutAction")public class LogoutAction extends HttpServlet {private static final long serialVersionUID = 1L;public LogoutAction() {super();}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {HttpSession session = req.getSession(false);if (session == null) {resp.sendRedirect("login.jsp");return;}session.removeAttribute("User");resp.sendRedirect("login.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}}

MulAction

package com.sjsq.servlet;import com.sjsq.bean.Join;import com.sjsq.dao.CourseDao;import com.sjsq.dao.JoinDao;import com.sjsq.dao.SigninDao;import com.sjsq.dao.SigninStuDao;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/MulAction")@MultipartConfigpublic class MulAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String ope = req.getParameter("ope");if (ope.equals("joincreat")) {String c = req.getParameter("course_id");String user_id = req.getParameter("user_id");int course_id = Integer.valueOf(c);Join join = new Join(course_id, user_id, "checking");JoinDao joinDao = new JoinDao();int result = joinDao.Creat(join);if (result == 2) {out.println("<script> alert('课程已经选过'); location='show_all_courses.jsp'; </script>");} else if (result == 1) {out.println("<script> alert('加入成功'); location='show_all_courses.jsp'; </script>");} else {out.println("<script> alert('加入失败'); location='show_all_courses.jsp'; </script>");}} else if (ope.equals("joinaccept")) {String c = req.getParameter("course_id");String user_id = req.getParameter("user_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");JoinDao joinDao = new JoinDao();int result = joinDao.Update(course_id, user_id, "true");if (result == 1) {out.println("<script> alert('通过成功'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('通过失败'); location='" + from_ + "'; </script>");}} else if (ope.equals("signincreat")) {String c = req.getParameter("course_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");SigninDao signinDao = new SigninDao();int result = signinDao.Creat(course_id);if (result == 1) {SigninStuDao signinStuDao = new SigninStuDao();CourseDao courseDao = new CourseDao();int signin_id = signinDao.FindLast(course_id);signinStuDao.Creat(signin_id, course_id);courseDao.Update(course_id, "true");out.println("<script> alert('签到已开始'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('开始失败'); location='" + from_ + "'; </script>");}} else if (ope.equals("signinstop")) {String c = req.getParameter("course_id");int course_id = Integer.valueOf(c);String from_ = req.getParameter("from_");CourseDao courseDao = new CourseDao();int result = courseDao.Update(course_id, "false");if (result == 1) {SigninDao signinDao = new SigninDao();signinDao.Update(signinDao.FindLast(course_id));out.println("<script> alert('签到已停止'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('停止失败'); location='" + from_ + "'; </script>");}} else if (ope.equals("signin")) {String stu_id = req.getParameter("stu_id");String c = req.getParameter("signin_id");int signin_id = Integer.valueOf(c);String from_ = .URLDecoder.decode(req.getParameter("from_"), "UTF-8");SigninStuDao signinStuDao = new SigninStuDao();int result = signinStuDao.Update(signin_id, stu_id, "true");if (result == 1) {SigninDao signinDao = new SigninDao();signinDao.AddNum(signin_id);out.println("<script> alert('签到成功'); location='" + from_ + "'; </script>");} else {out.println("<script> alert('签到失败'); location='" + from_ + "'; </script>");}}}}

RegisterAction

package com.sjsq.servlet;import com.sjsq.bean.User;import com.sjsq.dao.UserDao;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/RegisterAction")@MultipartConfigpublic class RegisterAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;public RegisterAction() {super();}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");RequestDispatcher rd = req.getRequestDispatcher("register.jsp");rd.forward(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String user_id = req.getParameter("inputUser_id");String userPass = req.getParameter("inputPassword");String Confirm = req.getParameter("confirmPassword");String name = req.getParameter("inputName");String type = req.getParameter("type");int flag = 0;for (int i = 0; i < user_id.length(); i++) if (user_id.charAt(i) < '0' || user_id.charAt(i) > '9') flag++;if (flag != 0) {out.println("<script> alert('学号只能含有数字'); location='register.jsp'; </script>");} else if (!userPass.equals(Confirm)) {out.println("<script> alert('两次密码不相同'); location='register.jsp'; </script>");} else {User user = new User(user_id, userPass, name, type);UserDao userDao = new UserDao();int result = userDao.create(user);if (result == 1) {out.println("<script> alert('注册成功'); location='login.jsp'; </script>");} else {if (result == 0) out.println("<script> alert('注册失败'); location='register.jsp'; </script>");else out.println("<script> alert('该账号已被注册'); location='register.jsp'; </script>");}}}}

UpdateUserAction

package com.sjsq.servlet;import com.sjsq.bean.User;import com.sjsq.dao.UserDao;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;@WebServlet("/UpdateUserAction")@MultipartConfigpublic class UpdateUserAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doGet(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();String oldPass = req.getParameter("oldPassword");String newPass = req.getParameter("newPassword");String Confirm = req.getParameter("confirmPassword");if (!newPass.equals(Confirm)) {out.println("<script> alert('两次密码不相同'); location='update_user.jsp'; </script>");} else {User user = (User) req.getSession().getAttribute("User");if (!user.getPassword().equals(oldPass)) {out.println("<script> alert('原密码错误'); location='update_user.jsp'; </script>");} else {UserDao userDao = new UserDao();int result = 0;try {result = userDao.Update(user.getId(), newPass);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}if (result == 1) {HttpSession session = req.getSession(false);session.removeAttribute("User");out.println("<script> alert('修改密码成功'); location='login.jsp'; </script>");resp.sendRedirect("login.jsp");} else {out.println("<script> alert('修改密码失败'); location='update_user.jsp'; </script>");resp.sendRedirect("update_user.jsp");}}}}}

四、其他

1.更多系统

Java+JSP系统系列实现

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

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

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

Java+Servlet系统系列实现

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

Java+Servlet+JSP实现新闻发布系统

Java+Servlet+JSP学生宿舍管理系统

Java+Servlet+JSP实现图书管理系统

Java+Servlet+JSP实现停车场管理系统

Java+Servlet+JSP实现房屋租赁管理系统

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

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

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

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

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

Java+SSM系统系列实现

J​​​ava+SSM+JSP实现网上考试系统

Java+SSM+JSP实现宠物商城系统

Java+SSM+JSP实现超市管理系统

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

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

Java+SSM+JSP+Maven实现网上书城系统

Java+SSM+JSP+Maven实现学校教务管理系统

Java+SSH系统系列实现

Java+SSH+JSP实现在线考试系统

Java+SSH+JSP实现医院在线挂号系统

Java+Springboot系统系列实现

Java+Springboot+H-ui+Maven实现营销管理系统

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

Java+Springboot+Bootstrap+Maven实现景区旅游管理系统

1.更多JavaWeb系统请关注专栏。

/helongqiang/category_1000.html/helongqiang/category_1000.html

2.更多JavaSwing系统请关注专栏。

/helongqiang/category_6229101.html/helongqiang/category_6229101.html

2.源码下载

sql在sql文件夹下面

Java+Servlet+JSP+Mysql实现Web学生选课签到系统

3.备注

如有侵权请联系我删除。

4.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!想要获取其他资源可关注左侧微信公众号获取!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。