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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

0回答

5239閲覧

DBからデータを取り出してjspで表示できない

mimi_129

総合スコア63

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2019/11/03 03:15

編集2022/01/12 10:55

前提・実現したいこと

DBにインサートされたデートを取り出してjspで表示したいのですが、うまくいきません。。
postMasterMapperでSQL発行後リストで保管→index.jspでfor文を回して出力といった流れです。
コンソールでfor文に誤りがあるように投げられているのですが。。

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

コンソール

JSPファイル: [/index.jsp] の中の[29]行目でエラーが発生しました PostMaster cannot be resolved to a type 26: 27: <div id="top"></div> 28: <div id="content"> 29: <% for(PostMaster post : postlist) { %> 30: <p><a href="article/article.jsp"><%= post.getTitle() %></a></p> 31: <% } %> 32: </div> Stacktrace:]が根本的要因と共に投げられました。 [日 11月 03 12:03:27 JST 2019]

ブラウザ

HTTPステータス 500 – Internal Server Error タイプ 例外報告 メッセージ JSPのクラスをコンパイルできません: 説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: 生成されたJavaファイル:[/Applications/Eclipse_2019-09.app/Contents/workspace/XXX/work/org/apache/jsp/index_jsp.java]の[16]行でエラーが発生しました。 Only a type can be imported. model.PostMaster resolves to a package 生成されたJavaファイル:[/Applications/Eclipse_2019-09.app/Contents/workspace/XXX/work/org/apache/jsp/index_jsp.java]の[17]行でエラーが発生しました。 Only a type can be imported. model.PostMasterMapper resolves to a package JSPファイル: [/index.jsp] の中の[11]行目でエラーが発生しました PostMasterMapper cannot be resolved to a type 8: 9: <% 10: 11: PostMasterMapper pmm = new PostMasterMapper(); 12: List<PostMaster> postlist = (List<PostMaster>)pmm.findAll(); 13: 14: %> JSPファイル: [/index.jsp] の中の[11]行目でエラーが発生しました PostMasterMapper cannot be resolved to a type 8: 9: <% 10: 11: PostMasterMapper pmm = new PostMasterMapper(); 12: List<PostMaster> postlist = (List<PostMaster>)pmm.findAll(); 13: 14: %> JSPファイル: [/index.jsp] の中の[12]行目でエラーが発生しました PostMaster cannot be resolved to a type 9: <% 10: 11: PostMasterMapper pmm = new PostMasterMapper(); 12: List<PostMaster> postlist = (List<PostMaster>)pmm.findAll(); 13: 14: %> 15: JSPファイル: [/index.jsp] の中の[12]行目でエラーが発生しました PostMaster cannot be resolved to a type 9: <% 10: 11: PostMasterMapper pmm = new PostMasterMapper(); 12: List<PostMaster> postlist = (List<PostMaster>)pmm.findAll(); 13: 14: %> 15: JSPファイル: [/index.jsp] の中の[29]行目でエラーが発生しました PostMaster cannot be resolved to a type 26: 27: <div id="top"></div> 28: <div id="content"> 29: <% for(PostMaster post : postlist) { %> 30: <p><a href="article/article.jsp"><%= post.getTitle() %></a></p> 31: <% } %> 32: </div> Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:522) org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 注意 原因のすべてのスタックトレースは、サーバのログに記録されています

該当のソースコード

index.jsp

Java

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 4<%@ page import="java.util.List" %> 5<%@ page import="java.util.ArrayList" %> 6 7<%@ page import="model.PostMaster,model.PostMasterMapper" %> 8 9<% 10 11PostMasterMapper pmm = new PostMasterMapper(); 12List<PostMaster> postlist = (List<PostMaster>)pmm.findAll(); 13 14%> 15 16<!DOCTYPE html> 17<html> 18<head> 19 <meta charset="UTF-8"> 20 <link rel="stylesheet" href="css/stylesheet.css" type="text/css"> 21 <title>トップ|サイト</title> 22</head> 23<body> 24<div id="main"> 25 <jsp:include page="include/header.jsp" flush="true" /> 26 27 <div id="top"></div> 28 <div id="content"> 29 <% for(PostMaster post : postlist) { %> 30 <p><a href="article/article.jsp"><%= post.getTitle() %></a></p> 31 <% } %> 32 </div> 33 34 <jsp:include page="include/side.jsp" flush="true" /> 35 <jsp:include page="include/footer.jsp" flush="true" /> 36</div> 37</body>

postMasterMapper.java

Java

1package model; 2 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.PreparedStatement; 6import java.sql.ResultSet; 7import java.sql.SQLException; 8import java.util.ArrayList; 9import java.util.List; 10 11public class PostMasterMapper { 12 13 public List<PostMaster> findAll() { 14 List<PostMaster> postlist = new ArrayList(); 15 16 try ( 17 // データベースに接続 18 Connection connect = DriverManager.getConnection( 19 "jdbc:mysql://localhost:8880/XXX", 20 "root", 21 "XXX"); 22 ) { 23 String sql = "SELECT * FROM postmaster"; 24 25 PreparedStatement ps = connect.prepareStatement(sql); 26 27 ResultSet rs = ps.executeQuery(); 28 29 while (rs.next()) { 30 String title = rs.getString("title"); 31 String honbun = rs.getString("honbun"); 32 33 PostMaster pm = new PostMaster(); 34 35 pm.setTitle(title); 36 pm.setHonbun(honbun); 37 38 postlist.add(pm); 39 } 40 } catch (SQLException e) { 41 e.printStackTrace(); 42 return null; 43 } 44 return postlist; 45 } 46} 47

postMsater.java

Java

1package model; 2 3public class PostMaster { 4 5 // フィールド 6 private String title; 7 private String honbun; 8 9 // アクセサー 10 public String getTitle() { 11 return title; 12 } 13 14 public void setTitle(String title) { 15 this.title = title; 16 } 17 18 public String getHonbun() { 19 return honbun; 20 } 21 22 public void setHonbun(String honbun) { 23 this.honbun = honbun; 24 } 25 26} 27

補足情報(FW/ツールのバージョンなど)

DB(postmaster)
イメージ説明

ディレクトリ構造
イメージ説明

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

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

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

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

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

takasima20

2019/11/03 04:08

List<PostMaster> postlist = new ArrayList<PostMaster>(); //とか? テキトーですが。
A-pZ

2019/11/03 05:21

JSPの29行目近辺で出ているコードを見ましたが特に問題は見当たりませんでした。 Stacktrace:]が根本的要因と共に投げられました。 とありますが、このエラーメッセージはこのまま出ているのでしょうか?記載していただいたJSPからこのエラーメッセージが出るとは思えません。
mimi_129

2019/11/03 05:26

コンソールが出力したものをそのまま書いています。
A-pZ

2019/11/03 11:18

記載されているJSPやクラスには特に問題はありませんが、jsp:include されているJSPにて何らかの問題があるかも知れません。
A-pZ

2019/11/04 04:06

今度は、importしているクラスが読み込めていないようです。PostMasterMapper や PostMasterクラスでコンパイルエラーは出ていないでしょうか。もしくはコンパイルエラーが出ていない場合は、サーバに正しく反映されていない可能性があります。一度サーバを停止した後、サーバの更新をかけてから起動しなおしましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問