为什么我的 Apache Tomcat 无法执行简单的 JSP select 数据库程序?
Why my Apache Tomcat is not able to execute simple JSP select database program?
请帮助我,我过去 2 天一直在尝试执行此操作,尝试在所有搜索引擎中进行搜索,并按照来自各个网站 none 的所有提到的步骤进行操作,他们能够解决问题。我哪里错了?
注意:我没有使用任何类型的 IDE。我用记事本来输入这个程序。文件在 "C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT\MyJSPSamples" 中另存为 "select.jsp"。我已经在 table.
中输入了两个示例数据
这是我的代码:
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>SELECT Operation</title>
</head>
<body>
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/EXAMPLE"
user="root" password="123"/>
<sql:query dataSource="${snapshot}" var="result">
SELECT * from employees;
</sql:query>
<table border="1" width="100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.first}"/></td>
<td><c:out value="${row.last}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
这是我的环境变量:
CLASSPATH:%JAVA_HOME%\jre\lib;C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib\jsp-api.jar`<br><br>
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_25`<br><br>
PATH: C:\Program Files\Java\jdk1.8.0_25\bin`;
我使用的数据库是MySql。
这是我的截图link:
http://imgur.com/pn7RwjP,MtYQ7v9,Fl7jWtg,pa64SU5,MZvFpEX#0
将此代码放在 html 标记上方:
<%@ 页面导入="java.sql.*" %>
<%Class.forName("com.mysql.jdbc.Driver"); %>
将此代码放入头部区域样式标签中:
table{
border:1 px solid #000;
margin: 0 auto;
}
将此代码放入正文区域:
<%
连接连接=DriverManager.getConnection(
"jdbc:mysql://localhost/EXAMPLE", "root", "123");
Statement statement = connection.createStatement();
ResultSet resultset = statement
.executeQuery("select * from employees");
%>
也将此代码放入正文区域:
<table>
<tr>
<th>EMP ID</th>
<th>First Name</th>
<th>last name</th>
<th>Age</th>
</tr>
<% while(resultset.next()){ %>
<tr>
<td> <%= resultset.getString(1) %></td>
<td> <%= resultset.getString(2) %></td>
<td> <%= resultset.getString(3) %></td>
<td> <%= resultset.getString(4) %></td>
</tr>
<% } %>
</table>
并将 mysql-connector-java-5.1.25-bin.jar 添加到 lib 中,这个示例对我来说工作正常。如果还有问题,请发表评论。享受
请帮助我,我过去 2 天一直在尝试执行此操作,尝试在所有搜索引擎中进行搜索,并按照来自各个网站 none 的所有提到的步骤进行操作,他们能够解决问题。我哪里错了?
注意:我没有使用任何类型的 IDE。我用记事本来输入这个程序。文件在 "C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT\MyJSPSamples" 中另存为 "select.jsp"。我已经在 table.
中输入了两个示例数据这是我的代码:
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>SELECT Operation</title>
</head>
<body>
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/EXAMPLE"
user="root" password="123"/>
<sql:query dataSource="${snapshot}" var="result">
SELECT * from employees;
</sql:query>
<table border="1" width="100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.first}"/></td>
<td><c:out value="${row.last}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
这是我的环境变量:
CLASSPATH:%JAVA_HOME%\jre\lib;C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib\jsp-api.jar`<br><br>
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_25`<br><br>
PATH: C:\Program Files\Java\jdk1.8.0_25\bin`;
我使用的数据库是MySql。
这是我的截图link:
http://imgur.com/pn7RwjP,MtYQ7v9,Fl7jWtg,pa64SU5,MZvFpEX#0
将此代码放在 html 标记上方: <%@ 页面导入="java.sql.*" %> <%Class.forName("com.mysql.jdbc.Driver"); %> 将此代码放入头部区域样式标签中:
table{
border:1 px solid #000;
margin: 0 auto;
}
将此代码放入正文区域: <% 连接连接=DriverManager.getConnection( "jdbc:mysql://localhost/EXAMPLE", "root", "123");
Statement statement = connection.createStatement();
ResultSet resultset = statement
.executeQuery("select * from employees");
%>
也将此代码放入正文区域:
<table>
<tr>
<th>EMP ID</th>
<th>First Name</th>
<th>last name</th>
<th>Age</th>
</tr>
<% while(resultset.next()){ %>
<tr>
<td> <%= resultset.getString(1) %></td>
<td> <%= resultset.getString(2) %></td>
<td> <%= resultset.getString(3) %></td>
<td> <%= resultset.getString(4) %></td>
</tr>
<% } %>
</table>
并将 mysql-connector-java-5.1.25-bin.jar 添加到 lib 中,这个示例对我来说工作正常。如果还有问题,请发表评论。享受