サーブレットに関して
ポスグレのデータベースをイクリプスと連携させようとしています。
現状は接続の確認として下記Connect13.javaを実行し接続確認をしています。
しかし、405が表示されてしまい接続が上手くいきません。
どこが間違っているのか教えて頂きたいです。
下記が現在のスペックです。
OS:Windows
バージョン 10
Eclipse 4.0
※ソースコードは------で分けて今回はここに記載しています。
よろしくお願いいたします。
Connect13.java
package jp.co.sss.dao;
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jp.co.sss.dao.DBManager;
@WebServlet("/connect13")
public class Connect13 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection con = null;
con = DBManager.getConnection();
if(con !=null){request.setAttribute("message","接続に成功しました。");
}
DBManager.close(con);
request.getRequestDispatcher("/jsp/sample13/pizza_result2.jsp").forward(request, response);
}
}
-----------------------------------------------------------------------------------------------------------------------
DBManager.java
package jp.co.sss.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBManager {
public static Connection getConnection(){
String url="jdbc:postgresql://localhost:5432/postgres";
String user = "postgres";
String password = "reds1113";
try{
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection(url,user,password);////urlの指定のみ
return con;
}catch (Exception e){
throw new IllegalStateException(e);
}
}
public static void close(Connection con){
if (con !=null){
try{
con.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
public static void close(PreparedStatement ps, Connection con){
if (ps !=null) {
try {
ps.close();
}catch (SQLException e){
e.printStackTrace();
}
}
if (con != null){
try {
ps.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
-----------------------------------------------------------------------------------------------------------------------
pizza_result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>シェアードピザ</title>
</head>
<body>
<article class ="main">
<h2>${message}</h2>
<form action="<%=request.getContextPath()%>/connect13"method="post">
<input type="submit" value="接続画面に戻る"/>
</form>
</article>
</body>
</html>
補足
>DriverManager#getDrivers()でリストアップしてちゃんと読み込まれているかチェックしてみては? 正しく認識されていました。 >または、urlの値は正のですか? url, user, password全て正しい値です。 >ドライバが読み込まれているならDriver#acceptsURL()を使って、そのドライバに対応したURLか調べてみてはいかがでしょう? こちらもの結果も問題なく対応したURLでした。 ん~困った。。 実は元々動作実績のあるアプリで急に上記のエラーが発生するようなりました。 なので、問題は環境面にあるのかなぁ~とも思いますが 特に開発・運用面で変更点がないので難渋しています。