用java、mysql、html、css、jsp、servlet开发一个企业工资管理系统,给我代码并解释 要求如下: 1、数据录入功能 主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、 删除,迅速准确地完成各种工资信息的统计计算和汇总。 2、数据查询功能 系统可以提供以下查询功能: 1) 员工考勤情况 2) 员工工种情况,反映员工的工种、等级,岗位工资等信息 3) 员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等 4) 员工基本信息情况 5) 员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,应发工资,实发工资 3、数据统计功能 1) 统计员工年终奖金 2) 统计每部门月工资情况
时间: 2023-07-10 19:16:40 浏览: 47
很抱歉,由于篇幅过长,无法在这里给您提供完整的代码。但是,我可以为您提供一些开发思路和代码片段,帮助您实现这个企业工资管理系统。
首先,我们需要创建一个Java Web项目,并且设置好项目的相关配置。然后,我们在项目中创建一个工具类,用于连接数据库和执行SQL语句。以下是一个简单的数据库工具类:
```java
public class DBUtil {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/gsalary";
private static String user = "root";
private static String password = "root";
private static Connection conn = null;
private static PreparedStatement pstmt = null;
private static ResultSet rs = null;
public static Connection getConnection() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static ResultSet executeQuery(String sql, Object[] params) {
try {
conn = getConnection();
pstmt = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
rs = pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
public static int executeUpdate(String sql, Object[] params) {
int result = 0;
try {
conn = getConnection();
pstmt = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
result = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void closeAll() {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
接下来,我们需要创建一个Servlet,用于处理用户提交的请求。以下是一个简单的Servlet,用于处理查询员工基本信息的请求:
```java
public class EmployeeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String empNo = request.getParameter("empNo");
String sql = "select * from employee where emp_no=?";
Object[] params = { empNo };
ResultSet rs = DBUtil.executeQuery(sql, params);
try {
if (rs.next()) {
String empName = rs.getString("emp_name");
String deptName = rs.getString("dept_name");
double basicSalary = rs.getDouble("basic_salary");
request.setAttribute("empName", empName);
request.setAttribute("deptName", deptName);
request.setAttribute("basicSalary", basicSalary);
request.getRequestDispatcher("/employee.jsp").forward(request, response);
} else {
request.setAttribute("errorMsg", "员工不存在!");
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.closeAll();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
在这个Servlet中,我们首先获取用户提交的员工编号empNo,然后根据empNo从数据库中查询员工的基本信息,包括员工姓名empName、所在部门deptName和基本工资basicSalary。如果查询成功,将这些信息存储到request中,并且转发到employee.jsp页面进行显示。如果查询失败,将错误信息存储到request中,并且转发到error.jsp页面进行显示。
最后,我们需要创建一个JSP页面,用于显示查询结果。以下是一个简单的employee.jsp页面:
```jsp
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>员工基本信息</title>
</head>
<body>
<h1>员工基本信息</h1>
<table border="1">
<tr>
<th>姓名</th>
<td><%= request.getAttribute("empName") %></td>
</tr>
<tr>
<th>部门</th>
<td><%= request.getAttribute("deptName") %></td>
</tr>
<tr>
<th>基本工资</th>
<td><%= request.getAttribute("basicSalary") %></td>
</tr>
</table>
</body>
</html>
```
在这个页面中,我们使用了JSP的表达式语言来显示员工的基本信息,这些信息是从Servlet中传递过来的。
以上是一个简单的企业工资管理系统的代码片段,您可以根据自己的实际情况进行开发。