データベース接続のEclipse Data Source Explorerで、Goolge Cloud Sqlの新しい接続を作成します。My Database NameはGuestbookで、Instance Nameはcodeguestbook:appshilendraで、エラーウィンドウで
起動構成ファイルの権限を変更できませんでした
私のjspページでは、プロジェクトを実行するときのGoogleクラウドSQL接続ドライバーのドライバーは「jdbc:google:rdbms://codeguestbook:appshilendra/guestbook」です
次に、エラーウィンドウで起動構成ファイルのアクセス許可を変更できませんでしたというエラーを受け取ります
サーブレットコードは @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
PrintWriter out = resp.getWriter();
Connection c = null;
try {
DriverManager.registerDriver(new AppEngineDriver());
c = DriverManager.getConnection("jdbc:google:rdbms://codeguestbook:appshilendra/guestbook");
String fname = req.getParameter("fname");
String content = req.getParameter("content");
if (fname == "" || content == "") {
out.println("<html><head></head><body>You are missing either a message or a name! Try again! Redirecting in 3 seconds...</body></html>");
} else {
String statement ="INSERT INTO entries (guestName, content) VALUES( ? , ? )";
PreparedStatement stmt = c.prepareStatement(statement);
stmt.setString(1, fname);
stmt.setString(2, content);
int success = 2;
success = stmt.executeUpdate();
if(success == 1) {
out.println("<html><head></head><body>Success! Redirecting in 3 seconds...</body></html>");
} else if (success == 0) {
out.println("<html><head></head><body>Failure! Please try again! Redirecting in 3 seconds...</body></html>");
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (c != null)
try {
c.close();
} catch (SQLException ignore) {
}
} resp.setHeader("Refresh","3; url=/guestbook.jsp");
}
そして、私が使用しているjspコード
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.List" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.google.appengine.api.rdbms.AppEngineDriver" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org /TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Database Connection</title>
</head>
<body>
<%
Connection c = null;
c = DriverManager.getConnection("jdbc:google:rdbms://codeguestbook:appshilendra /guestbook");
ResultSet rs = c.createStatement().executeQuery("SELECT guestName, content, entryID FROM entries"); %>
<table style="border: 1px solid black">
<tbody>
<tr>
<th width="35%" style="background-color: #CCFFCC; margin: 5px">Name</th>
<th style="background-color: #CCFFCC; margin: 5px">Message</th>
<th style="background-color: #CCFFCC; margin: 5px">ID</th>
</tr> <%
while (rs.next()){
String guestName = rs.getString("guestName");
String content = rs.getString("content");
int id = rs.getInt("entryID"); %>
<tr>
<td><%= guestName %></td>
<td><%= content %></td>
<td><%= id %></td>
</tr>
<% }
c.close(); %>
</tbody>
</table>
<br />
</body>
</html>