代码9
。。
增
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.SQLException;
@WebServlet("/zhiyuandeleteservlet")
public class zhiyuandeleteservlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("utf-8");
String jobid = request.getParameter("jobid");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try (Connection connection = Database.getConnection();
PreparedStatement statement = connection.prepareStatement("delete from zhiyuan where jobid=?")) {
statement.setString(1, jobid);
int rowsAffected = statement.executeUpdate();
if (rowsAffected > 0) {
// 提示录入成功
response.sendRedirect("guanliyuan.jsp");
} else {
out.println("");
out.println("
删除失败,未找到对应的记录。
");out.println("返回");
out.println("");
}
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
out.println("");
out.println("
删除过程中出现错误: " + e.getMessage() + "
");out.println("返回");
out.println("");
}
}
}
改
package cn.edu.tyut.demo13;
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 java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.regex.Pattern;
@WebServlet("/zhiyuanpersonupdateservlet")
public class zhiyuanpersonupdateservlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// 假设从session中获取当前登录员工的工号,实际应用中需结合登录逻辑调整获取方式
Object jobidObj = request.getSession().getAttribute("jobid");
if (jobidObj == null) {
request.setAttribute("errorMessage", "未获取到登录员工信息,请先登录。");
request.getRequestDispatcher("zhiyuanpersonupdate.jsp").forward(request, response);
return;
}
int jobid = (int) jobidObj;
String name = request.getParameter("name");
String sex = request.getParameter("sex");
String birthdayStr = request.getParameter("birthday");
// 验证输入参数
String errorMessage = null;
if (name == null || name.trim().isEmpty()) {
errorMessage = "姓名不能为空";
} else if (!Pattern.matches("^[\\u4e00-\\u9fa5a-zA-Z]{1,20}$", name)) {
// 简单限制姓名为中文、英文字母,长度1-20位,可根据实际细化规则
errorMessage = "姓名格式不符合要求,请使用中文或英文字母,长度在1-20位之间。";
} else if (sex == null || (!sex.equals("男") &&!sex.equals("女"))) {
errorMessage = "性别必须为“男”或“女”";
} else {
try {
LocalDate.parse(birthdayStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
} catch (DateTimeParseException e) {
errorMessage = "生日格式不正确,应为 yyyy-MM-dd";
}
}
if (errorMessage!= null) {
request.setAttribute("errorMessage", errorMessage);
request.getRequestDispatcher("zhiyuanpersonupdate.jsp").forward(request, response);
return;
}
try (Connection connection = Database.getConnection()) {
// 更新语句,只更新允许修改的字段(姓名、性别、生日),根据工号定位记录
String updateSql = "UPDATE zhiyuan SET name =?, sex =?, birthday =? WHERE jobid =?";
try (PreparedStatement statement = connection.prepareStatement(updateSql)) {
statement.setString(1, name);
statement.setString(2, sex);
statement.setDate(3, java.sql.Date.valueOf(LocalDate.parse(birthdayStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
statement.setInt(4, jobid);
int rowsAffected = statement.executeUpdate();
if (rowsAffected > 0) {
request.setAttribute("errorMessage", "个人信息修改成功。");
} else {
errorMessage = "修改失败,未找到对应的个人信息记录,请确认。";
request.setAttribute("errorMessage", errorMessage);
}
request.getRequestDispatcher("zhiyuanpersonupdate.jsp").forward(request, response);
}
} catch (SQLException | ClassNotFoundException e) {
errorMessage = "数据库操作出现错误,请联系管理员。";
request.setAttribute("errorMessage", errorMessage);
request.getRequestDispatcher("zhiyuanpersonupdate.jsp").forward(request, response);
}
}
}

浙公网安备 33010602011771号