JSP实现简单人事管理系统

yizhihongxing

JSP是一种基于Java的Web开发技术,它可以让我们在页面中嵌套Java代码,实现动态生成HTML页面,开发出更加灵活的Web应用程序。在这里,我将详细讲解使用JSP实现简单人事管理系统的完整攻略。下面分为以下步骤:

  1. 创建数据库表
  2. 创建JavaBean
  3. 创建JSP页面
  4. 配置Web应用程序

1. 创建数据库表

首先,我们需要创建一个数据库表,用于存储人事管理系统中的员工信息。假设我们需要存储员工的编号、姓名、部门和职位信息,可以使用以下SQL语句创建一个名为employee的表:

CREATE TABLE employee (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50),
  department VARCHAR(50),
  position VARCHAR(50)
);

该表中包含4个字段:id、name、department、position,其中id为自增主键。

2. 创建JavaBean

接下来,我们需要创建一个JavaBean,用于对数据库进行操作。在这里,我们可以使用JDBC技术连接数据库,并通过JavaBean提供对数据库表的增删改查功能。下面是一个名为Employee的JavaBean示例,包含了对employee表的增删改查方法:

import java.sql.*;

public class Employee {
    private Connection conn = null;

    public Employee() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }

    public void add(String name, String department, String position) {
        try {
            String sql = "INSERT INTO employee(name, department, position) " +
                    "VALUES (?, ?, ?)";
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1, name);
            preparedStatement.setString(2, department);
            preparedStatement.setString(3, position);
            preparedStatement.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void delete(int id) {
        try {
            String sql = "DELETE FROM employee WHERE id=?";
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setInt(1, id);
            preparedStatement.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void update(int id, String name, String department, String position) {
        try {
            String sql = "UPDATE employee SET name=?, department=?, position=? WHERE id=?";
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1, name);
            preparedStatement.setString(2, department);
            preparedStatement.setString(3, position);
            preparedStatement.setInt(4, id);
            preparedStatement.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public ResultSet queryAll() {
        try {
            String sql = "SELECT * FROM employee";
            Statement statement = conn.createStatement();
            return statement.executeQuery(sql);
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }
}

3. 创建JSP页面

在JavaBean创建完成之后,我们需要创建JSP页面来对数据库进行操作,并将用户所需要的结果显示在页面上。下面是一个简单的JSP页面示例,包含了对employee表进行增删改查的操作:

<%@ page import="java.sql.*" %>
<%@ page import="Employee" %>
<%
    String action = request.getParameter("action");
    Employee employee = new Employee();

    if ("add".equals(action)) {
        String name = request.getParameter("name");
        String department = request.getParameter("department");
        String position = request.getParameter("position");
        employee.add(name, department, position);
    } else if ("delete".equals(action)) {
        int id = Integer.parseInt(request.getParameter("id"));
        employee.delete(id);
    } else if ("update".equals(action)) {
        int id = Integer.parseInt(request.getParameter("id"));
        String name = request.getParameter("name");
        String department = request.getParameter("department");
        String position = request.getParameter("position");
        employee.update(id, name, department, position);
    }

    ResultSet rs = employee.queryAll();
%>
<html>
<head>
    <title>Employee Management System</title>
</head>
<body>
    <h1>Employee Management System</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Department</th>
            <th>Position</th>
            <th>Action</th>
        </tr>
        <%
            while (rs.next()) {
                out.println("<tr>");
                out.println("<td>" + rs.getInt("id") + "</td>");
                out.println("<td>" + rs.getString("name") + "</td>");
                out.println("<td>" + rs.getString("department") + "</td>");
                out.println("<td>" + rs.getString("position") + "</td>");
                out.println("<td>");
                out.println("<a href=\"?action=delete&id=" + rs.getInt("id") + "\">Delete</a> | ");
                out.println("<a href=\"update.jsp?id=" + rs.getInt("id") + "\">Update</a>");
                out.println("</td>");
                out.println("</tr>");
            }
        %>
    </table>
    <h2>Add Employee</h2>
    <form method="post" action="?action=add">
        <label>Name:</label>
        <input type="text" name="name"><br>
        <label>Department:</label>
        <input type="text" name="department"><br>
        <label>Position:</label>
        <input type="text" name="position"><br>
        <input type="submit" value="Add">
    </form>
</body>
</html>

4. 配置Web应用程序

最后一步,我们需要将JavaBean和JSP页面组合起来,并配置Web应用程序。我们可以使用以下目录结构存放相关文件:

/webapp
    /WEB-INF
        /classes
            Employee.class
        web.xml
    index.jsp
    update.jsp

其中,/webapp/index.jsp文件为我们的主页面,用于显示员工信息和进行添加操作;/webapp/update.jsp文件用于进行修改操作。

对于web.xml文件的配置,我们可以将Employee类声明为一个Servlet,并定义映射:

<web-app>
    <servlet>
        <servlet-name>Employee</servlet-name>
        <servlet-class>Employee</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Employee</servlet-name>
        <url-pattern>/Employee</url-pattern>
    </servlet-mapping>
</web-app>

这样,我们的人事管理系统就已经搭建完成了。用户可以通过访问主页面进行增删改查操作,由JavaBean完成与数据库之间的交互,并将结果以表格形式呈现在页面上。

例如,用户需要添加一个名为"John"、部门为"Sales"、职位为"Manager"的员工,只需要在主页面点击"Add Employee"按钮,输入相关信息并提交即可。这时,JavaBean将通过JDBC技术向数据库中的employee表添加一条新纪录,页面将自动刷新并显示出新添加的员工信息。

另外,为了更好地展示修改操作的效果,我们可以将employee表中的一条记录导入至update.jsp页面中,用户可以在该页面上修改该记录的相关信息,并提交修改结果。JavaBean将会将修改之后的记录更新至employee表中,页面同时也会刷新显示出修改之后的结果。

以上便是使用JSP实现简单人事管理系统的完整攻略。通过这个例子,我们可以更好地掌握JSP技术的应用,实现更加灵活和高效的Web应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP实现简单人事管理系统 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java 内存溢出的原因和解决方法

    Java 内存溢出的原因和解决方法 Java 内存溢出是 Java 开发中常见的问题之一,当程序运行需要的内存超过了 JVM 分配给程序的内存时,就会发生内存溢出的问题。本文将详细介绍 Java 内存溢出的原因和解决方法,以及两个示例说明。 常见内存溢出的原因 1. 对象无法被合理的回收 在 Java 中,内存的回收是通过垃圾回收机制(GC)实现的。当对象引…

    Java 2023年5月26日
    00
  • Spring Boot集成MyBatis的方法

    下面是“Spring Boot集成MyBatis的方法”的完整攻略,包括两条示例。 1. 环境准备 在开始之前,需要准备以下环境:- Java JDK 1.8.x- Maven 3.x- IntelliJ IDEA 或 Eclipse 2. 新建Spring Boot项目 可以使用Spring Initializr快速创建一个Spring Boot 项目。指…

    Java 2023年5月20日
    00
  • 详解IDEA用maven创建springMVC项目和配置

    以下是关于“详解IDEA用Maven创建SpringMVC项目和配置”的完整攻略,其中包含两个示例。 详解IDEA用Maven创建SpringMVC项目和配置 在使用SpringMVC框架开发Web应用程序时,使用Maven构建项目是一个非常好的选择。本文将介绍如何使用Maven和IDEA创建SpringMVC项目,并配置相关依赖和插件。 创建Maven项目…

    Java 2023年5月16日
    00
  • 详解JavaScript中数组的reduce方法

    下面我将详细讲解JavaScript中数组的reduce方法。 1. reduce方法是什么 reduce()是JavaScript中数组的一个方法,可以用来逐个处理数组中的元素,并返回一个累加结果,其语法如下: array.reduce(function(previousValue, currentValue, index, array){ // 处理当前…

    Java 2023年5月26日
    00
  • spring快速入门实例教程

    下面我来详细讲解一下“spring快速入门实例教程”的完整攻略。 一、前置条件 在学习本教程之前,需要掌握Java编程基础和基本的Spring框架概念。 二、环境搭建 安装JDK:下载并安装Java开发工具包(JDK) 安装IDEA:下载并安装IntelliJ IDEA集成开发环境 创建Maven项目:在IDEA中创建一个基于Maven的Spring项目 三…

    Java 2023年5月19日
    00
  • Java实现简单点餐系统

    下面来详细讲解如何用Java实现一个简单点餐系统。 步骤一:确定业务需求与功能 首先要明确此点餐系统需要实现哪些业务需求与功能,例如: 显示菜单列表 支持菜单搜索 展示菜品详细信息 选择菜品后加入订单 展示订单详情 取消订单 支付订单 这些需求与功能可以通过需求分析或与客户的沟通来确定。 步骤二:设计数据模型 接下来需要设计系统中用到的数据模型,例如: 菜品…

    Java 2023年5月18日
    00
  • 基于json解析神器 jsonpath的使用说明

    下面是基于Json解析神器JsonPath的使用说明的详细攻略。 什么是JsonPath? JsonPath是一个基于Java的Json解析库,它可以用于解析Json数据并提取其中的内容。JsonPath使用类似XPath的查询语法,并支持大部分XPath表达式,同时还有一些自己的表达式。 如何使用JsonPath 步骤一:引入依赖 要使用JsonPath,…

    Java 2023年5月26日
    00
  • Java_Spring之Spring 中的事务控制

    Java_Spring之Spring 中的事务控制 事务控制是指对于数据库中某个或某些操作,如果它们完成所有的运行期要求,就提交事务,否则就回滚以前的操作,使整个操作反映为数据库中没有执行过这样的操作。Spring中的事务控制为我们提供了非常方便的支持。 Spring 中的事务管理 Spring中的事务控制使用了代理模式,当我们请求一个带有 @Transac…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部