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

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

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

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

Java

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

SQL

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

servlet

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

解決済

SQLで取得した値をJSPで表示

junpi-ya
junpi-ya

総合スコア17

JSP

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

Java

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

SQL

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

servlet

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

1回答

0評価

0クリップ

29367閲覧

投稿2016/04/21 09:26

編集2016/04/21 16:34

ご回答頂けると幸いです。

java初めて数カ月になり、DBとSQLに挑戦中です(*‘ω‘ *)
SQLで取得した値をサーブレットからJSPに表示するプロジェクトを作成しております。

JAVAでは、SQLを使ってDBから値を取得できている様ですが、
上手くJSPで表示されず、HTTPステータス 500 エラー続きで困っております(-"-)
何度も調べてみて、色々ためしてみましたが、どれもうまく行かず、
どなたかご教授頂けると助かります。。。

よろしくお願いいたします。

環境は
・JSP
・Java
・Tomcat
・MYSQL
です。

サーブレット

package servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
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 bean.Member;
import dao.KHDataAccess;
import dao.SHDataAccess;

/**

  • Servlet implementation class MemberServlet

*/
@WebServlet("/MemberServlet")
public class MemberServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String seni = request.getParameter("cigmm"); if (seni.equals("kohjun")) { KHDataAccess KH = new KHDataAccess(); List<Member> MMlist = KH.findALL(); request.setAttribute("members",MMlist); RequestDispatcher dispatcher = request.getRequestDispatcher("/member002.jsp"); dispatcher.forward(request, response); } else if(seni.equals("shojun")) { SHDataAccess SH = new SHDataAccess(); List<Member> memberlist = SH.findALL(); request.setAttribute("members",memberlist); RequestDispatcher dispatcher = request.getRequestDispatcher("/member002.jsp"); dispatcher.forward(request, response); } }

}


dao

package dao;
package dao;

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

import bean.Member;

public class KHDataAccess {

String user = "*****"; String passwd = "*****"; String url = "jdbc:mysql://localhost:3306/test"; public List<Member>findALL() { Connection con = null; Statement stmt = null; ResultSet rs = null; List<Member> memberList = new ArrayList<Member>(); try{//ドライバの読み込み Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(url,user,passwd); //SQL文実行 stmt = con.createStatement(); //SELECT文の実行--昇順で取得 String sql = "SELECT * FROM `cigmemberrist` ORDER BY `Department` ASC"; rs = stmt.executeQuery(sql); //ResultSetからデータの取り出し while(rs.next()){ String ID = rs.getString("ID"); String Name = rs.getString("Name"); String Department = rs.getString("Department"); Member member = new Member(ID,Name,Department); memberList.add(member); } }catch(SQLException e){ e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(rs !=null)rs.close(); if(stmt !=null)stmt.close(); if(con !=null)con.close(); }catch(Exception e){ e.printStackTrace(); } } return memberList; }

}


been

package been;

public class Member {
private String ID;
private String Name;
private String Department;

public String getId() { return ID; } public void setId(String ID) { this.ID = ID; } public String getName() { return Name; } public void setName(String Name) { this.Name = Name; } public String getDs() { return Department; } public void setDs(String Department) { this.Department = Department; } public Member(String ID, String Name, String Department) { this.ID = ID; this.Name = Name; this.Department = Department; } }

JSP
------------------------------------------------------------------------------------------------<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.List"%>
<%@ page import="bean.Member"%>
<% List<Member>MMList=(List<Member>)request.getAttribute("members"); %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 5 Transitional//EN" "http://www.w3.org/TR/html5/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="member.css"> <title>CIGmember</title> </head> <body> <center> <font face="HGS明朝B" size="8" color="#00008b" class=h4>従業員名簿</font> <table> <tr> <th>社員ID</th> <th>氏名</th> <th>部署</th> </tr> <tr> <% for (Member member: MMList) {%> <%=member.getId()%> <%=member.getName()%> <%=member.getDs()%> <%} %> </tr> </table> </center> </body> </html>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

umed0025

2016/04/21 09:36

findALLがnullを返すようになってますが、転記ミスでしょうか?
junpi-ya

2016/04/21 12:04

転記ミスではありません。。。。 nullはエラーの原因ではないと思ってたので、気にしていませんでした。 nullが原因でしょうか??
umed0025

2016/04/21 13:20

nullを返すと、JSP側でNullPointerExceptionが発生しているかなぁ。 原因については、スタックトレース(エラーログ)に出力されているとおもいますのでまずそちらの追記をお願いします。 また、環境についてもわかるようであれば追記をお願いします。
junpi-ya

2016/04/21 15:17

返信ありがとうございます(>_<) エラー文と環境を追加しました。よろしくお願いいたします。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JSP

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

Java

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

SQL

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

servlet

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