代码11

录入个人信息

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.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

@WebServlet("/zhiyuanupdateservlet")
public class zhiyuanupdateservlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");

    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 (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("zhiyuanupdate.jsp").forward(request, response);
        return;
    }

    try (Connection connection = Database.getConnection();
         PreparedStatement statement = connection.prepareStatement("update zhiyuan set sex=?, birthday=? where name=?")) {

        statement.setString(1, sex);
        statement.setDate(2, java.sql.Date.valueOf(LocalDate.parse(birthdayStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
        statement.setString(3, name);

        int rowsAffected = statement.executeUpdate();
        if (rowsAffected > 0) {
            // 提示录入成功
            response.sendRedirect("guanliyuan.jsp");
        } else {
            errorMessage = "未找到匹配的记录";
            request.setAttribute("errorMessage", errorMessage);
            request.getRequestDispatcher("zhiyuanupdate.jsp").forward(request, response);
        }
    } catch (SQLException | ClassNotFoundException e) {
        errorMessage = "数据库操作失败";
        request.setAttribute("errorMessage", errorMessage);
        request.getRequestDispatcher("zhiyuanupdate.jsp").forward(request, response);
    }
}

}

posted @ 2025-02-14 21:04  林香芋  阅读(14)  评论(0)    收藏  举报