代码7
package cn.edu.tyut.demo13;
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.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@WebServlet("/RoleManagementServlet")
public class rolemanagementservlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String jobidStr = request.getParameter("jobid");
String department = request.getParameter("department");
String role = request.getParameter("role");
if (jobidStr == null || department == null || role == null) {
out.println("<html><body><p>参数缺失,请重新操作。</p><a href='rolemanagement.jsp'>返回</a></body></html>");
return;
}
int jobid = Integer.parseInt(jobidStr);
try (Connection connection = Database.getConnection()) {
if ("部门经理".equals(role)) {
// 检查该部门是否已存在经理
String checkSql = "SELECT COUNT(*) FROM zhiyuan WHERE department =? AND role = '部门经理'";
try (PreparedStatement checkStmt = connection.prepareStatement(checkSql)) {
checkStmt.setString(1, department);
try (ResultSet rs = checkStmt.executeQuery()) {
if (rs.next() && rs.getInt(1) > 0) {
out.println("<html><body><p>该部门已存在经理,不能再指定。</p><a href='rolemanagement.jsp'>返回</a></body></html>");
return;
}
}
}
}
// 更新员工角色
String updateSql = "UPDATE zhiyuan SET role =? WHERE jobid =?";
try (PreparedStatement updateStmt = connection.prepareStatement(updateSql)) {
updateStmt.setString(1, role);
updateStmt.setInt(2, jobid);
int rowsAffected = updateStmt.executeUpdate();
if (rowsAffected > 0) {
out.println("<html><body><p>角色设置成功。</p><a href='rolemanagement.jsp'>返回</a></body></html>");
} else {
out.println("<html><body><p>角色设置失败,未找到对应的员工。</p><a href='rolemanagement.jsp'>返回</a></body></html>");
}
}
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
out.println("<html><body><p>数据库操作错误: " + e.getMessage() + "</p><a href='rolemanagement.jsp'>返回</a></body></html>");
}
}
}

浙公网安备 33010602011771号