代码6
对身体各项成绩的增删改查
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.*;
@WebServlet("/demo9/departmentupdateservlet")
public class departmentupdateservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String departmentId = request.getParameter("departmentid");
String newDepartmentName = request.getParameter("department");
// 检查部门名称格式(这里简单示例,实际可能需要更复杂的正则表达式)
if (!isValidDepartmentName(newDepartmentName)) {
request.setAttribute("error", "部门名称格式不正确");
request.getRequestDispatcher("departmentupdate.jsp").forward(request, response);
return;
}
// 检查部门名称是否与现有名称冲突
try {
if (isDepartmentNameExists(newDepartmentName)) {
request.setAttribute("error", "部门名称已存在");
request.getRequestDispatcher("departmentupdate.jsp").forward(request, response);
return;
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
// 如果验证通过,执行更新操作
try {
Connection con = getConnection();
String sql = "UPDATE department SET name=? WHERE id=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, newDepartmentName);
pst.setString(2, departmentId);
pst.executeUpdate();
pst.close();
con.close();
// 重定向或转发到成功页面
response.sendRedirect("guanliyuan.jsp");
} catch (SQLException e) {
e.printStackTrace();
request.setAttribute("error", "更新失败");
request.getRequestDispatcher("departmentupdate.jsp").forward(request, response);
}
}
private boolean isValidDepartmentName(String departmentName) {
// 这里简单示例,实际可能需要更复杂的正则表达式
return departmentName.matches("[a-zA-Z0-9_ ]+");
}
private boolean isDepartmentNameExists(String departmentName) throws SQLException {
Connection con = getConnection();
String sql = "SELECT * FROM department WHERE name=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, departmentName);
ResultSet rs = pst.executeQuery();
boolean exists = rs.next();
rs.close();
pst.close();
con.close();
return exists;
}
private Connection getConnection() throws SQLException {
// 这里假设你有一个获取数据库连接的方法,需要根据实际情况修改
return DriverManager.getConnection("jdbc:mysql://kaoqin@localhost/kaoqin", "username", "password");
}
}

浙公网安备 33010602011771号