前提・実現したいこと
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/ツールのバージョンなど)
あなたの回答
tips
プレビュー