问题
I'm using Netbeanse 7.3.1 + Glassfish 4. I wrote simple web application using JSTL
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<sql:query var="txt" dataSource="jdbc/mrm_db">
SELECT * FROM T2
</sql:query>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<table>
<c:forEach var="row" items="${txt.rows}">
<tr><td><c:out value="${row.txt}"/></td></tr>
</c:forEach>
</table>
</body>
</html>
Also i have added Galssfish JDBC Resource and configured connection pool and JDBC Resource. Added web.xml and config resource references.
And when i trying start my applicatio a get error
Type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused."
root cause
javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused."
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 4.0 logs.
It's looks like that Glassfish try use jdbc/__default, but not my datasource.
If i'm create this project into Netbeans 7.2 and Glassfish 3.2, it's work fine.
Can you help me, what am i doing wrong?
Thanks!
回答1:
Include the following resource definition in your web.xml and it should work properly.
<resource-ref>
<res-ref-name>jdbc/SOMETHING</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<mapped-name>jdbc/SOMETHING</mapped-name>
</resource-ref>
来源:https://stackoverflow.com/questions/17427640/glassfish-4-mysql-jstl