Java Web 开发实战:员工信息查询与计算器实现

本文将介绍如何使用 Java Servlet 和 JSP 技术实现两个常见的 Web 应用功能:

  1. 员工信息查询: 用户点击页面上的链接,请求一个 Servlet,该 Servlet 查询数据库中所有员工的信息,并将结果转发到一个 JSP 页面进行展示。

  2. 计算器: 用户在 JSP 页面输入两个数字和运算符号,点击计算按钮,提交表单,Servlet 处理请求并计算结果,并将结果展示在另一个 JSP 页面上。

1. 员工信息查询

1.1 创建 JavaBean

首先,创建一个名为 'Emp' 的 JavaBean,用于封装员工信息,包含编号、姓名、工作、领导编号、雇用日期、工资、奖金、部门编号等属性,并提供 get/set 方法。

public class Emp {
    private int id;
    private String name;
    private String job;
    private int managerId;
    private Date hireDate;
    private double salary;
    private double bonus;
    private int deptId;

    // 省略 get/set 方法
}

1.2 创建 DAO 类

创建一个名为 'EmpDAO' 的 Java 类,用于查询数据库中所有员工信息,并返回一个包含所有员工信息的 List 集合。

public class EmpDAO {
    public List<Emp> findAll() {
        // 查询数据库,将结果封装到 Emp 对象中,并将 Emp 对象添加到 List 集合中
        List<Emp> empList = new ArrayList<>();
        // ...
        return empList;
    }
}

1.3 配置 Servlet

在 web.xml 文件中配置一个名为 'EmpServlet' 的 Servlet,用于处理员工信息的请求。

<servlet>
    <servlet-name>EmpServlet</servlet-name>
    <servlet-class>com.example.EmpServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>EmpServlet</servlet-name>
    <url-pattern>/emp</url-pattern>
</servlet-mapping>

1.4 创建 JSP 页面

创建一个名为 'emp.jsp' 的 JSP 页面,用于显示所有员工信息。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>所有员工信息</title>
</head>
<body>
    <h1>所有员工信息</h1>
    <table border='1'>
        <thead>
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>工作</th>
                <th>领导编号</th>
                <th>雇用日期</th>
                <th>工资</th>
                <th>奖金</th>
                <th>部门编号</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach var='emp' items='${empList}'>
                <tr>
                    <td>${emp.id}</td>
                    <td>${emp.name}</td>
                    <td>${emp.job}</td>
                    <td>${emp.managerId}</td>
                    <td>${emp.hireDate}</td>
                    <td>${emp.salary}</td>
                    <td>${emp.bonus}</td>
                    <td>${emp.deptId}</td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
</body>
</html>

1.5 处理请求

在 EmpServlet 中处理员工信息的请求,查询所有员工信息并将其添加到 request 属性中,然后转发到 emp.jsp 页面进行展示。

package com.example;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet('/emp')
public class EmpServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        EmpDAO dao = new EmpDAO();
        List<Emp> empList = dao.findAll();
        request.setAttribute('empList', empList);
        request.getRequestDispatcher('/emp.jsp').forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

1.6 运行项目

运行项目后,在浏览器中访问 'http://localhost:8080/emp' 即可显示所有员工信息。

2. 计算器

2.1 创建 JSP 页面

创建一个名为 'calculator.jsp' 的 JSP 页面,用于实现计算器功能,包含两个文本框用于输入数字,一个下拉菜单用于选择运算符号,以及一个提交按钮。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>计算器</title>
</head>
<body>
    <h1>计算器</h1>
    <form action='${pageContext.request.contextPath}/result.jsp' method='post'>
        <p>
            <label>数字1:</label><input type='text' name='num1' />
        </p>
        <p>
            <label>运算符:</label><select name='operator'>
                <option value='+'>+</option>
                <option value='-'>-</option>
                <option value='*'>*</option>
                <option value='/'>/</option>
            </select>
        </p>
        <p>
            <label>数字2:</label><input type='text' name='num2' />
        </p>
        <p>
            <input type='submit' value='计算' />
        </p>
    </form>
</body>
</html>

2.2 创建结果 JSP 页面

创建一个名为 'result.jsp' 的 JSP 页面,用于显示计算结果。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>计算结果</title>
</head>
<body>
    <h1>计算结果</h1>
    <p>计算结果为:${result}</p>
    <p><a href='${pageContext.request.contextPath}/calculator.jsp'>返回</a></p>
</body>
</html>

2.3 配置 Servlet

在 web.xml 文件中配置一个名为 'CalculatorServlet' 的 Servlet,用于处理计算器的请求。

<servlet>
    <servlet-name>CalculatorServlet</servlet-name>
    <servlet-class>com.example.CalculatorServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>CalculatorServlet</servlet-name>
    <url-pattern>/calculator</url-pattern>
</servlet-mapping>

2.4 处理请求

在 CalculatorServlet 中处理计算器的请求,从请求参数中获取两个数字和运算符,进行计算,并将结果添加到 request 属性中,然后转发到 result.jsp 页面进行展示。

package com.example;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet('/calculator')
public class CalculatorServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        int num1 = Integer.parseInt(request.getParameter('num1'));
        int num2 = Integer.parseInt(request.getParameter('num2'));
        String operator = request.getParameter('operator');
        int result = 0;
        switch (operator) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            result = num1 / num2;
            break;
        }
        request.setAttribute('result', result);
        request.getRequestDispatcher('/result.jsp').forward(request, response);
    }

}

2.5 运行项目

运行项目后,在浏览器中访问 'http://localhost:8080/calculator.jsp' 即可使用计算器功能。

总结

本文详细介绍了使用 Java Servlet 和 JSP 技术实现员工信息查询和计算器功能的完整步骤,包括 JavaBean、DAO、Servlet 和 JSP 页面的编写。希望本文能够帮助读者更好地理解 Java Web 开发的基本原理和实践。

Java Web 开发实战:员工信息查询与计算器实现

原文地址: https://www.cveoy.top/t/topic/oYmN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录