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

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

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

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

JSP

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

servlet

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

Q&A

3回答

5843閲覧

SQLExceptionエラー

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

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

JSP

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

servlet

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

0グッド

0クリップ

投稿2016/07/29 23:34

javaの初心者です。
下記のFindServlet.javaでSQLExceptionとなり先に進めません。
エラーは500java.lang.Error: Unresolved compilation problem:
処理されない例外の型 SQLException となります。
どなたかご教授いただけないでしょうか?

使用環境 Eclipse
Tomcat6.0
mysql
jre1.8.0_45

中身
DB jsp10
table schedule
カラム sid int(11) primary key
title varchar(100)
sdate date
stime time
memo text
データ 1,本のタイトル,2016-07-20,10:00:00,購入
2,ノートのタイトル,2016-07-16,12:15:00,返却
ファイル
DbConnection.java
Data.java
DataList.java
SearchServlet.java
やりたいこと
DbConnectionで接続設定
Data.javaでセッターとゲッターの定義
DataListでテーブルから取得したデータを
Data.javaにセット
SearchServlet.javaでDatajavaからデータを
取得して表示
Q SearchServlet.javaの
ArrayList<Data> list =DataList.getList();の行が
処理できない例外の方SQLException
となり進みません。

//Dbconnection.java
package search;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.DriverManager;

public class DbConnection{
public static Connection getConnection() throws SQLException{
String strConn="jdbc:mysql://localhost/jsp10"+"?user=root&password=root"+"&characterEncoding=utf8";
Connection conn=DriverManager.getConnection(strConn);
return conn;
}
}
//Data.java
package search;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Data{
int lId;
String lTitle="";
String lDate="";
String lTime="";
String lMemo="";
public int getlId() {
return lId;
}
public void setlId(int lId) {
this.lId = lId;
}
public String getlTitle() {
return lTitle;
}
public void setlTitle(String lTitle) {
this.lTitle = lTitle;
}
public String getlDate() {
return lDate;
}
public void setlDate(String lDate) {
this.lDate = lDate;
}
public String getlTime() {
return lTime;
}
public void setlTime(String lTime) {
this.lTime = lTime;
}
public String getlMemo() {
return lMemo;
}
public void setlMemo(String lMemo) {
this.lMemo = lMemo;
}
}
//DataList.java
package search;

import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class DataList{
static public ArrayList<Data>getList() throws SQLException{
ArrayList<Data> list=new ArrayList<Data>();
Connection mConn=DbConnection.getConnection();
Statement mStmt=mConn.createStatement();
String mSql="select * from schedule";
ResultSet mRs=mStmt.executeQuery(mSql);
try{
while(mRs.next()){
Data bData=new Data();
bData.setlId(mRs.getInt("sid"));
bData.setlTitle(mRs.getString("title"));
bData.setlDate(mRs.getString("sdate"));
bData.setlTime(mRs.getString("stime"));
bData.setlMemo(mRs.getString("memo"));
list.add(bData);
}
}catch(SQLException e){
e.printStackTrace();
}
mRs.close();
mStmt.close();
mConn.close();
return list;
}
}
//FindServlet.java
package search;
import java.io.IOException;
import java.io.PrintWriter;
//import java.sql.Connection;
//import java.sql.ResultSet;
import java.sql.SQLException;
//import java.sql.Statement;
import java.util.ArrayList;
//import serach.Data;
//import search.DataList;
//import java.sql.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FindServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public SearchServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=Windows-31J"); PrintWriter out=response.getWriter(); out.println("<html><head>"); out.println("<title>スケジュール</title>"); out.println("</head><body>"); out.println("<h1 style='background:#cccccc'>スケジュール帳</h1>"); out.println("<table border='1'>"); out.println("<tr>"); out.println("<th>日付</th><th>時刻</th><th>予定表</th><th>備考</th><th>削除</th>"); out.println("</tr>"); for(Data bData:DataList.getList()){ out.println("<tr>"); out.println("<td>"); out.println("<%=bData.getlId()%>"); out.println("</td>"); out.println("<td>"); out.println("<%=bData.getlTitle()%>"); out.println("</td>"); out.println("<td>"); out.println("<%=bData.getlDate()%>"); out.println("</td>"); out.println("<td>"); out.println("<%=bData.getlTime()%>"); out.println("</td>"); out.println("<td>"); out.println("<%=bData.getlMemo()%>"); out.println("</td>"); out.println("</tr>"); } out.println("</table>"); out.println("</body>"); out.println("</html>"); } }

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

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

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

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

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

guest

回答3

0

コンパイルエラーが発生しています。
FindServletからDataList.getList()を呼び出していますが、このgetListメソッドはSQLExceptionをスローすると宣言しています。サーブレットの継承メソッドはこれを扱えないので、try節で囲み、例えばthrow new ServletException(e)などで発生したSQLExceptionをラップするのが良いでしょう。

投稿2016/07/31 03:30

A-pZ

総合スコア12011

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

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

0

Unresolivedではなく、Unresolvedです。未定義という意味です。
search.FindServlet.doGet(FindServlet.java:37)は
FindServlet.javaの37行目でエラーになっているという意味です。
その周辺で定義忘れはありませんか?

投稿2016/07/30 04:04

maiko0318

総合スコア876

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

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

0

Unresolved compilation problem:の意味は調べましたか?
その次の行に、どのソースの何行目かが書いてあると思います。

投稿2016/07/30 00:56

maiko0318

総合スコア876

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

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

退会済みユーザー

退会済みユーザー

2016/07/30 03:45

すみません。Unresolived compilation problemを調べましたがよく分かりませんでした。 因みにその次の行には 処理されない例外の型 SQLException search.FindServlet.doGet(FindServlet.java:37) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) と出ます。SQL側の問題でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問