質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

518閲覧

JSPでDBのデータを表示したい

Osiruko

総合スコア1

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2022/07/12 02:59

前提

eclipseで映画情報サイトを作っています。
DBの中に入っている、映画名をすべてjsp内のページで表示してく処理の途中にエラーメッセージが発生しました。

実現したいこと

DBからテーブルを引っ張って映画名すべてを出力させたいのですが、なにも表示させることができません。
エラー等はコンソールには表示されていないです。
誤字等の間違いなどがあれば大変申し訳無いのですが、これ以上どうすればいいか分からないので、ご教授いただけますでしょうか。
よろしくお願い致します。

発生している問題・エラーメッセージ

型 MovieInfoDAO の非 static メソッド getList() を static 参照することはできません

該当のソースコード

java

1 2@WebServlet("/MovieInfoList") 3public class MovieInfoList extends HttpServlet { 4 private static final long serialVersionUID = 1L; 5 6 public MovieInfoList() { 7 super(); 8 } 9 10 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 11 } 12 13 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 14 // doGet(req, resp); 15 List<Movie> movieList = MovieInfoDAO.getList(); 16 req.setAttribute("movieList", movieList); 17 req.getRequestDispatcher("/jsp/movieInfoList.jsp"); 18 19 } 20 21} 22

DAO

1public List<Movie> getList() { 2 Movie movie = null; 3 List<Movie> movieList = new ArrayList<>(); 4 // データベース接続 5 try (Connection conn = DriverManager.getConnection(JDBC_URL, DB_USER, DB_PASS)) { 6 // SELECT文の準備 7 String sql = "SELECT * FROM movieinfo;"; 8 // SQLをDBに届けるPreparedStatementインスタンスを取得 9 PreparedStatement pStmt = conn.prepareStatement(sql); 10 11 // SELECTを実行し、結果表(ResultSet)を取得 12 ResultSet rs = pStmt.executeQuery(); 13 // SELECT文の結果をmovieに格納 14 // MovieDAOのデータベースから取り出し、MovieInfoList.javaで受け取り、movieInfoList.jspのformで表示 15 while (rs.next()) { 16 movie = new Movie(); 17 // 映画名 18 movie.setMovieName(rs.getString("moviename")); 19 // リストへ(movieList) 20 movieList.add(movie); 21 } 22 } catch (SQLException e) { 23 e.printStackTrace(); 24 return null; 25 } 26 return movieList; 27 } 28

jsp

1<body> 2 <div 3 class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom"> 4 <h1 class="h2">映画情報名一覧</h1> 5 </div> 6 <div id="main"> 7 8 <table> 9 <tr> 10 <th>映画名</th> 11 </tr> 12 13 <c:forEach var="movie" items="${movieList}"> 14 <tr> 15 <td><c:out value="${movie.moviename}" /></td> 16 </tr> 17 </c:forEach> 18 </table> 19 </div> 20</body> 21

試したこと

DAO内はstaticをつけていないので、試しにstaticをつけたり、サイトで書いてるものを参考にしたりしてみました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2022/07/12 05:12

staticメソッドとそうでないメソッドでは、呼び出し方が異なります。 これはJavaの基礎中の基礎なので、まずは、Javaの基礎を一通り学んでください。
guest

回答1

0

ベストアンサー

staticにしない設計なのでしたら、newしたオブジェクトからそのメソッドを参照すると良いです。
(もしこれでわからない場合はオブジェクトの基本部分が抜け落ちているということになります)

投稿2022/07/12 07:23

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問