我试图建立一个简单的网络应用,需要用户输入姓名、工资等信息,并将其输入到名为 "STAFF "的数据库中,但它说无法获得连接(它已经连接了),我不知道这里有什么问题。
有人(
这是我的代码。
empform.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<sql:setDataSource var="myDatasource"
driver="org.apache.derby.jdbc.ClientDataSource"
url="jdbc:derby://localhost:1527/empDB"
user="app" password="app"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>INSERT</title>
</head>
<body>
<h1>Add New Employee</h1>
<c:set var="name" value="${param.name}"/>
<c:set var="salary" value="${param.salary}"/>
<c:set var="designation" value="${param.designation}"/>
<c:if test="${(name!=null)&&(salary!=null)&&(designation!=null)}" var="result">
<sql:update var="result" dataSource="myDatasource">
INSERT INTO STAFF
<sql:param value="${name}"/>
<sql:param value="${salary}"/>
<sql:param value="${designation}"/>
VALUES (?,?,?)
</sql:update>
</c:if>
<form action='empform.jsp' method='POST' style="width: 250px">
<table>
<tr><td>Name:</td><td><input type="text" name="name"></td></tr>
<tr><td>Salary:</td><td><input type="text" name="salary"></td></tr>
<tr><td>Designation:</td><td><input type="text" name="designation"></td></tr>
<tr><td><input type="submit" value="Save"></td></tr>
</table>
</form>
<sql:query var="result" dataSource="myDatasource">
SELECT * FROM APP.STAFF
</sql:query>
<table border="1">
<!-- column headers -->
<tr>
<c:forEach var="columnName" items="${result.columnNames}">
<th><c:out value="${columnName}"/></th>
</c:forEach>
</tr>
<!-- column data -->
<c:forEach var="row" items="${result.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td><c:out value="${column}"/></td>
</c:forEach>
</tr>
</c:forEach>
</table>
</body>
</html>
driver="org.apache.derby.jdbc.ClientDriver"
通过改变这个解决了......感谢@watata。