java - 为什么我在带有 JDBC 和 MySQL 的 JSP 中出现连接失败错误
问题描述
我正在尝试连接到 mysql 数据库并执行查询
但是数据库连接在加载时失败。
Pass 和 userID 都是正确的。
我在 netbeans 上没有任何错误。
这是我的代码
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ page import="java.sql.*" %>
<% Class.forName("com.mysql.jdbc.Driver"); %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Real Time Stock Price Quote</h1>
<form action="" method="get">
<p>Search:</p>
<input type="text" name="q" placeholder='search here'><br>
<input type="submit" value="Submit" ><br>
</form>
<%
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/stocklist","root","");
st = conn.createStatement();
String qry = request.getParameter("q");
String data;
qry= "SELECT * FROM `stocks` WHERE `name` LIKE '%qry%'";
rs = st.executeQuery(qry);
if(!conn.isClosed()){
%>
<P>connected DB </P>
<%= qry %>
<%
}
%>
<p> <% rs.getString("symbol"); %> </p>
<%
}catch(Exception e){
%>
<h2>Error! Database Connection Failed!!</h2>
<%
}
%>
</body>
</html>
这是我得到的输出:
实时股票报价搜索:
在这里搜索
连接数据库
SELECT * FROM stocks
WHERE name
LIKE '%qry%' 错误!数据库连接失败!!
为什么它会连接然后失败?
解决方案
异常包含 4 个有用的信息:堆栈跟踪、消息、类型和原因。
你扔掉了所有 4 件事,并用“失败!”替换它。
“不要那样做”的经典案例。
让异常发生;然后,您的日志将包含所有这些信息供您查看。从那里您可能会找出问题所在。
如果没有这些信息,没有完整的开发机器克隆,没有人可以在这里提供帮助。
推荐阅读
- r - 如何生成连接0和1的不同曲率的曲线?
- list - 在列表中分配变量
- linux - 如何在 bash 脚本中禁止打印警告消息?
- android - 按字母顺序排序后,房间数据库中的数据未更新
- javascript - Firestore:在聊天中列出消息的有效方法是什么?
- callback - 如何将数据从 python_callable 传递到 on_success_callback?
- python - 由于转义序列,python regex sub 无法正常工作
- amazon-web-services - Cloudformation 堆栈未从 EC2 启动模板中的用户数据接收信号
- ruby - Shopify 隐藏不可用的选项变体
- python - Python中的简单状态机