diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index e3c9483..11bd7fd 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,7 +6,10 @@
-
+
+
+
+
@@ -23,6 +26,9 @@
+
+
+
@@ -33,7 +39,8 @@
@@ -42,27 +49,24 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -181,6 +185,15 @@
+
+
+
+
+
+
+
+
+
@@ -328,11 +341,12 @@
+
-
+
diff --git a/src/com/controller/alluse/LoginServlet.java b/src/com/controller/alluse/LoginServlet.java
index 07709fc..40250ba 100644
--- a/src/com/controller/alluse/LoginServlet.java
+++ b/src/com/controller/alluse/LoginServlet.java
@@ -14,62 +14,69 @@ import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.ResultSet;
+/**
+ * 处理用户登录请求的Servlet
+ * 根据用户选择的身份(学生/教师/管理员)进行不同的验证逻辑
+ */
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ // 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
+ // 从请求参数中获取用户输入的用户名、密码和身份
String userName = req.getParameter("userName");
String psw = req.getParameter("psw");
String identity = req.getParameter("identity1");
+ // 打印日志用于调试
System.out.println(userName);
System.out.println(psw);
System.out.println(identity);
+ // 根据用户选择的身份进行不同的验证逻辑
if (identity.equals("学生")){//学生身份
- boolean flag = false;
- String sql = "select * from student where sname = ? and spsw = ?";
- Object[] objects = {userName, psw};
- ResultSet resultSet = StuDao.login(sql, objects);
- String sno = null;
+ boolean flag = false; // 标记是否验证成功
+ String sql = "select * from student where sname = ? and spsw = ?"; // SQL查询语句
+ Object[] objects = {userName, psw}; // SQL查询参数
+ ResultSet resultSet = StuDao.login(sql, objects); // 执行数据库查询
+ String sno = null; // 学生学号
try {
- if (resultSet.next()){
- flag = true;
- sno = resultSet.getString("sno");
+ if (resultSet.next()){ // 如果查询结果不为空
+ flag = true; // 验证成功
+ sno = resultSet.getString("sno"); // 获取学生学号
}
} catch (Exception e) {
- e.printStackTrace();
+ e.printStackTrace(); // 打印异常堆栈信息
}finally {
- JdbcUtils.close(resultSet);
+ JdbcUtils.close(resultSet); // 关闭结果集,释放资源
}
- if (flag){
+ if (flag){ // 验证成功
System.out.println("登录成功!");
- //创建会话,处理请求要用
+ // 创建会话,存储用户信息
HttpSession session = req.getSession();
- session.setAttribute("userName", userName);
- // 创建请求属性对象,处理请求要用
- session.setAttribute("sno", sno);
+ session.setAttribute("userName", userName); // 存储用户名
+ session.setAttribute("sno", sno); // 存储学号
System.out.println(sno);
+ // 设置跳转信息并转发到提示页面
req.setAttribute("httpUrl","/view/stu/stumainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
// resp.sendRedirect(req.getContextPath() + "/view/stu/stumainview.jsp");
- }else {
+ }else { // 验证失败
System.out.println("用户名或密码错误!请重新登录!");
- //返回登录成功的信息
+ // 设置错误信息并转发到提示页面
req.setAttribute("httpUrl","/view/login/login.jsp");
req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
req.setAttribute("title","登录失败");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}
- }else
- if (identity.equals("教师")){//教师身份
+ }else if (identity.equals("教师")){//教师身份
boolean flag = false;
String sql = "select * from teacher where tname = ? and tpsw = ?";
Object[] objects = {userName, psw};
@@ -87,13 +94,13 @@ public class LoginServlet extends HttpServlet {
}
if (flag){
System.out.println("登录成功!");
- //创建会话,处理请求要用
+ // 创建会话,存储用户信息
HttpSession session = req.getSession();
session.setAttribute("userName", userName);
- // 创建请求属性对象,处理请求要用
session.setAttribute("tno", tno);
System.out.println(tno);
+ // 设置跳转信息并转发到提示页面
req.setAttribute("httpUrl","/view/tea/teamainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
@@ -101,72 +108,68 @@ public class LoginServlet extends HttpServlet {
// resp.sendRedirect(req.getContextPath() + "/view/guide/mainview_guide.jsp");
}else {
System.out.println("用户名或密码错误!请重新登录!");
- //返回登录成功的信息
+ // 设置错误信息并转发到提示页面
req.setAttribute("httpUrl","/view/login/login.jsp");
req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
req.setAttribute("title","登录失败");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}
}else {//如果是管理员
- boolean flag = false;
- String sql = "select * from admin where adname = ? and adpsw = ? and belong = ?";
- Object[] objects = {userName, psw, identity};
- ResultSet resultSet = SchoAdminDao.login(sql, objects);
-// String belong = null;
- try {
- if (resultSet.next()){
- flag = true;
-// belong = resultSet.getString("belong");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }finally {
- JdbcUtils.close(resultSet);
+ boolean flag = false;
+ String sql = "select * from admin where adname = ? and adpsw = ? and belong = ?";
+ Object[] objects = {userName, psw, identity};
+ ResultSet resultSet = SchoAdminDao.login(sql, objects);
+ try {
+ if (resultSet.next()){
+ flag = true;
}
+ } catch (Exception e) {
+ e.printStackTrace();
+ }finally {
+ JdbcUtils.close(resultSet);
+ }
- if (flag){
-
- if (identity.equals("学校")){//学校管理员
- System.out.println("登录成功!");
- HttpSession session = req.getSession();
- // 创建会话属性对象,处理请求要用
- session.setAttribute("belong", identity);
- System.out.println(identity);
-// session.setAttribute("belong", belong);
-// System.out.println(belong);
+ if (flag){ // 管理员验证成功
- req.setAttribute("httpUrl","/view/schoadmin/schomainview.jsp");
- req.setAttribute("info", "登录成功!即将跳转至后台首页!");
- req.setAttribute("title","登录成功");
- req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
- }else {//二级学院管理员
- System.out.println("登录成功!");
- //创建会话,处理请求要用
- HttpSession session = req.getSession();
- // 创建请求属性对象,处理请求要用
- session.setAttribute("belong", identity);
- System.out.println(identity);
+ if (identity.equals("学校")){//学校管理员
+ System.out.println("登录成功!");
+ HttpSession session = req.getSession();
+ session.setAttribute("belong", identity); // 存储管理员所属单位
+ System.out.println(identity);
- req.setAttribute("httpUrl","/view/deptadmin/deptmainview.jsp");
- req.setAttribute("info", "登录成功!即将跳转至后台首页!");
- req.setAttribute("title","登录成功");
- req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
-// resp.sendRedirect(req.getContextPath() + "/view/guide/mainview_guide.jsp");
- }
+ // 设置跳转信息并转发到提示页面
+ req.setAttribute("httpUrl","/view/schoadmin/schomainview.jsp");
+ req.setAttribute("info", "登录成功!即将跳转至后台首页!");
+ req.setAttribute("title","登录成功");
+ req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
+ }else {//二级学院管理员
+ System.out.println("登录成功!");
+ // 创建会话,存储用户信息
+ HttpSession session = req.getSession();
+ session.setAttribute("belong", identity);
+ System.out.println(identity);
- }else {
- System.out.println("用户名或密码错误!请重新登录!");
- //返回登录成功的信息
- req.setAttribute("httpUrl","/view/login/login.jsp");
- req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
- req.setAttribute("title","登录失败");
+ // 设置跳转信息并转发到提示页面
+ req.setAttribute("httpUrl","/view/deptadmin/deptmainview.jsp");
+ req.setAttribute("info", "登录成功!即将跳转至后台首页!");
+ req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
+// resp.sendRedirect(req.getContextPath() + "/view/guide/mainview_guide.jsp");
}
+
+ }else {
+ System.out.println("用户名或密码错误!请重新登录!");
+ // 设置错误信息并转发到提示页面
+ req.setAttribute("httpUrl","/view/login/login.jsp");
+ req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
+ req.setAttribute("title","登录失败");
+ req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
+ }
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req, resp);
+ doGet(req, resp); // 对于POST请求,直接调用doGet方法处理
}
-}
+}
\ No newline at end of file
diff --git a/src/com/controller/frontweb/DelNewsServlet.java b/src/com/controller/frontweb/DelNewsServlet.java
index 7c55eea..75a3f27 100644
--- a/src/com/controller/frontweb/DelNewsServlet.java
+++ b/src/com/controller/frontweb/DelNewsServlet.java
@@ -11,43 +11,53 @@ import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
+/**
+ * 处理新闻删除请求的Servlet
+ * 根据新闻ID删除对应新闻记录
+ */
@WebServlet("/DelNewsServlet")
public class DelNewsServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ // 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
+ // 从请求参数中获取要删除的新闻ID
String nid = req.getParameter("nid");
- int nid1 = Integer.parseInt(nid);
+ int nid1 = Integer.parseInt(nid); // 将字符串类型的ID转换为整数
+ // 打印日志用于调试
System.out.println(nid1);
- String sql = null;
+ String sql = null; // SQL语句变量
+ // 第一步:检查新闻是否存在
sql = "select count(*) as num from news where nid = ?";
- Object[] objects = {nid1};
- int num = FrontWebDao.findTotalCount(sql, objects);
+ Object[] objects = {nid1}; // SQL查询参数
+ int num = FrontWebDao.findTotalCount(sql, objects); // 执行查询,获取新闻数量
System.out.println(num);
- if (num > 0){//有则删除
+
+ if (num > 0){ // 如果新闻存在,则执行删除操作
sql = "delete from news where nid = ?";
Object[] objects1 = {nid1};
- int num1 = FrontWebDao.executeUpdate(sql, objects1);
- if (num1 > 0){
+ int num1 = FrontWebDao.executeUpdate(sql, objects1); // 执行删除操作
+
+ if (num1 > 0){ // 删除成功
+ // 通过JavaScript弹出提示框并关闭当前窗口
resp.getWriter().write("");
- }else {
+ }else { // 删除失败(可能是数据库操作异常)
resp.getWriter().write("");
}
- }else {//否则不能删除
+ }else { // 新闻不存在,不能删除
resp.getWriter().write("");
}
-
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- this.doGet(req, resp);
+ this.doGet(req, resp); // 对于POST请求,直接调用doGet方法处理
}
-}
+}
\ No newline at end of file
diff --git a/src/com/controller/frontweb/DeptAdmAlterPswServlet.java b/src/com/controller/frontweb/DeptAdmAlterPswServlet.java
index 1ea73e4..ffa2707 100644
--- a/src/com/controller/frontweb/DeptAdmAlterPswServlet.java
+++ b/src/com/controller/frontweb/DeptAdmAlterPswServlet.java
@@ -10,37 +10,46 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
+/**
+ * 处理部门管理员密码修改请求的Servlet
+ * 验证两次输入的新密码是否一致并更新数据库
+ */
@WebServlet("/DeptAdmAlterPswServlet")
public class DeptAdmAlterPswServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ // 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
+ // 从会话中获取管理员编号(标识当前登录用户)
HttpSession session = req.getSession();
String adno = (String) session.getAttribute("adno");
+ // 从请求参数中获取用户输入的新密码和确认密码
String adpsw = req.getParameter("adpsw");
String adpsw1 = req.getParameter("adpsw1");
- //判断两次密码是否相同
- if (adpsw.equals(adpsw1)){//相同则进行修改操作
- String sql = "update admin set adpsw = ? where adno = ?";
- Object[] objects = {adpsw, adno};
- int num = FrontWebDao.executeUpdate(sql, objects);
- if (num > 0){
+ // 判断两次输入的密码是否相同
+ if (adpsw.equals(adpsw1)){// 相同则进行修改操作
+ String sql = "update admin set adpsw = ? where adno = ?"; // SQL更新语句
+ Object[] objects = {adpsw, adno}; // SQL参数:新密码和管理员编号
+ int num = FrontWebDao.executeUpdate(sql, objects); // 执行数据库更新操作
+
+ if (num > 0){ // 更新成功
+ // 提示用户修改成功并要求重新登录
resp.getWriter().write("");
- }else {
+ }else { // 更新失败(可能是数据库操作异常)
resp.getWriter().write("");
}
- }else {//不同则重新输入密码
+ }else {// 两次密码不同,提示用户重新输入
resp.getWriter().write("");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- this.doGet(req, resp);
+ this.doGet(req, resp); // 对于POST请求,直接调用doGet方法处理
}
-}
+}
\ No newline at end of file
diff --git a/src/com/controller/frontweb/DeptAdmForgetPswServlet.java b/src/com/controller/frontweb/DeptAdmForgetPswServlet.java
index 3a2d02a..e26c821 100644
--- a/src/com/controller/frontweb/DeptAdmForgetPswServlet.java
+++ b/src/com/controller/frontweb/DeptAdmForgetPswServlet.java
@@ -9,36 +9,45 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+/**
+ * 处理部门管理员忘记密码重置请求的Servlet
+ * 验证两次输入的新密码是否一致并更新数据库
+ */
@WebServlet("/DeptAdmForgetPswServlet")
public class DeptAdmForgetPswServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ // 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
+ // 从请求参数中获取管理员编号(用户输入的需要重置密码的账号)
String adno = req.getParameter("adno");
+ // 从请求参数中获取用户输入的新密码和确认密码
String adpsw = req.getParameter("adpsw");
String adpsw1 = req.getParameter("adpsw1");
- //判断两次密码是否相同
- if (adpsw.equals(adpsw1)){//相同则进行修改操作
- String sql = "update admin set adpsw = ? where adno = ?";
- Object[] objects = {adpsw, adno};
- int num = FrontWebDao.executeUpdate(sql, objects);
- if (num > 0){
+ // 判断两次输入的密码是否相同
+ if (adpsw.equals(adpsw1)){// 相同则进行修改操作
+ String sql = "update admin set adpsw = ? where adno = ?"; // SQL更新语句
+ Object[] objects = {adpsw, adno}; // SQL参数:新密码和管理员编号
+ int num = FrontWebDao.executeUpdate(sql, objects); // 执行数据库更新操作
+
+ if (num > 0){ // 更新成功
+ // 提示用户修改成功并跳转到登录页面
resp.getWriter().write("");
- }else {
+ }else { // 更新失败(可能是管理员编号不存在或数据库操作异常)
resp.getWriter().write("");
}
- }else {//不同则重新输入密码
+ }else {// 两次密码不同,提示用户重新输入
resp.getWriter().write("");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- this.doGet(req, resp);
+ this.doGet(req, resp); // 对于POST请求,直接调用doGet方法处理
}
-}
+}
\ No newline at end of file