Java Web 开发实战:员工信息查询与计算器实现
Java Web 开发实战:员工信息查询与计算器实现
本文将介绍如何使用 Java Servlet 和 JSP 技术实现两个常见的 Web 应用功能:
-
员工信息查询: 用户点击页面上的链接,请求一个 Servlet,该 Servlet 查询数据库中所有员工的信息,并将结果转发到一个 JSP 页面进行展示。
-
计算器: 用户在 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 开发的基本原理和实践。
原文地址: https://www.cveoy.top/t/topic/oYmN 著作权归作者所有。请勿转载和采集!