创建jsp页面,使用java servlet和java bean,连接数据库bus,选择下拉框中的出发地和目的地,点击查询即可在当前页面显示数据库中的车次信息

时间: 2024-03-12 16:44:59 浏览: 20
好的,这是一个涉及到前端界面、后端逻辑处理和数据库连接的完整项目需求。我会尽力回答你的问题。 首先,你需要在项目中创建一个 JSP 页面,该页面包含一个表单,其中包含出发地和目的地的下拉框、一个查询按钮和一个用于显示查询结果的表格。 在表单中,你需要使用 Java Servlet 和 Java Bean 来处理用户的请求和从数据库中检索数据。具体而言,当用户提交表单时,Servlet 可以将出发地和目的地的值作为参数传递给 Java Bean,Java Bean 然后使用 JDBC API 连接到数据库并查询车次信息。最后,Java Bean 将查询结果返回给 Servlet,Servlet 将其传递给 JSP 页面以进行显示。 以下是一个简单的代码示例,仅供参考: JSP 页面: ```html <html> <head> <title>Bus Schedule Query</title> </head> <body> <h1>Bus Schedule Query</h1> <form action="busQuery" method="post"> <label>Departure:</label> <select name="departure"> <option value="city1">City 1</option> <option value="city2">City 2</option> <option value="city3">City 3</option> </select> <label>Destination:</label> <select name="destination"> <option value="city1">City 1</option> <option value="city2">City 2</option> <option value="city3">City 3</option> </select> <input type="submit" value="Query"> </form> <table> <tr> <th>Bus Number</th> <th>Departure Time</th> <th>Arrival Time</th> </tr> <c:forEach items="${busList}" var="bus"> <tr> <td>${bus.number}</td> <td>${bus.departureTime}</td> <td>${bus.arrivalTime}</td> </tr> </c:forEach> </table> </body> </html> ``` Java Servlet: ```java @WebServlet("/busQuery") public class BusQueryServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String departure = request.getParameter("departure"); String destination = request.getParameter("destination"); BusQueryBean bean = new BusQueryBean(); List<Bus> busList = bean.queryBus(departure, destination); request.setAttribute("busList", busList); RequestDispatcher dispatcher = request.getRequestDispatcher("busQuery.jsp"); dispatcher.forward(request, response); } } ``` Java Bean: ```java public class BusQueryBean { public List<Bus> queryBus(String departure, String destination) { List<Bus> busList = new ArrayList<>(); try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bus", "root", "password"); PreparedStatement stmt = conn.prepareStatement("SELECT * FROM schedule WHERE departure=? AND destination=?"); stmt.setString(1, departure); stmt.setString(2, destination); ResultSet rs = stmt.executeQuery(); while (rs.next()) { Bus bus = new Bus(); bus.setNumber(rs.getString("number")); bus.setDepartureTime(rs.getString("departure_time")); bus.setArrivalTime(rs.getString("arrival_time")); busList.add(bus); } rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } return busList; } } ``` 在上面的代码示例中,`Bus` 类代表一辆公交车,包含车次号、出发时间和到达时间等属性。`BusQueryServlet` 类作为 Servlet,负责接收表单提交的请求,并将请求转发给 `BusQueryBean` 类进行处理。`BusQueryBean` 类使用 JDBC API 连接到数据库并执行查询操作,将查询结果封装到 `Bus` 对象中,并返回 `List<Bus>` 类型的查询结果。 请注意,上面的代码示例仅供参考,并不包含完整的错误处理和安全性检查。在实际项目中,你需要根据具体需求进行修改和完善。

相关推荐

最新推荐

recommend-type

jsp从数据库获取数据填充下拉框实现二级联动菜单的方法

本文实例讲述了jsp从数据库获取数据填充下拉框实现二级联动菜单的方法。分享给大家供大家参考,具体如下: 项目告一段落,现在将遇到的比较实用的东西记录下来,写了多遍了,谨记于此,以备查看! 1、首先在数据库中...
recommend-type

BootStrap中关于Select下拉框选择触发事件及扩展

Select下拉框的问题,想在选择一个选项后,前台显示做出变动,并且知道选择的是第几个选项。 怎么解决这个问题呢?下面小编给大家带来了BootStrap中关于Select下拉框选择触发事件及扩展,需要的朋友参考下吧
recommend-type

Layui带搜索的下拉框的使用以及动态数据绑定方法

所以就有了带查询的下拉框出现,这个下拉框的功能很强大,结合了输入框和下拉框为一体,既可以进行模糊查询,又可以直接选择,比以前的下拉框更加方便了。今天要介绍的就是layui的form表单组件里的带查询的下拉框。 ...
recommend-type

JSP页面中模糊查询 基于Ajax技术

模糊查询就是能根据输入的内容动态从数据库中查询出匹配的数据,并将数据显示在列表框 中,这在软件系统中经常用到。象搜索引擎Google、Baidu一样,在输入一个字或词后能在下拉列表框中列出数据库中的匹配项供用户...
recommend-type

jQuery 获取和设置select下拉框的值实现代码

获取Select : 获取select 选中的 text : $(“#ddlRegType”).find(“option:selected”).text(); 获取select选中的 value: $(“#ddlRegType “).val(); 获取select选中的索引: $(“#ddlRegType “).get(0)....
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。