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

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

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

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

Java

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

servlet

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

解決済

javaプログラムで作成したクラスをjspで表示させる方法について

kumakumatan
kumakumatan

総合スコア205

JSP

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

Java

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

servlet

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

1回答

0評価

0クリップ

2052閲覧

投稿2016/06/22 12:56

■開発環境
Eclipse Java EE IDE for Web Developers(Ver4.5.2)
Tomcat(v7.0)

http://localhost:8080/schedule/csvchk.jsp
にアクセスして下記の3つのクラスを実行して結果を表示させる
のにはどうしたらいいでしょうか?

[schedule]プロジェクトの中に[basic]パッケージを作成
「exec01.java」「FRead.java」「FieldChk.java」を作成しました。

java

public class exec01 { public static void main(String[] args) { // FieldChkクラスをインスタンス化する FieldChk Chk = new FieldChk("C:\\sample.csv"); // ファイル読み込みメソッドの実施 Chk.read(); //ファイル読み込み件数の表示 System.out.println(Chk.getCount()); // チェック if(Chk.check1() == true) { System.out.println("正常処理!!"); } } }

java

import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class FRead { public static String[] getLines(String fileName) { List<String> list = new ArrayList<String>(); BufferedReader br = null; try { /* 入力ストリームの読み込み。 * ここでCSVファイルの文字コードを設定しないと文字化けします。 * 読み込むファイルの文字コード(SJIS) */ br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "SJIS")); String line = null; // ファイル読み込み while((line = br.readLine()) != null) { list.add(line); } // br.close(); } catch (IOException err) { err.printStackTrace(); } finally { if(br != null) { try { br.close(); } catch (IOException ex) { // Do nothing } } } return list.toArray(new String[0]); } }

java

import java.util.regex.Pattern; public class FieldChk { // private ファイル名; private String fname; // private 読み込みバッファ; String[] csv; //csv読み込み件数 int readcount = 0; /* コンストラクタ(引数){ * 引数をファイル名に保持 * } */ public FieldChk(String fname) { this.fname = fname; } public FieldChk(int readcount) { this.readcount = readcount; } public void read() { //FReadクラスでファイルを読み込んで、読み込みバッファに格納 csv = FRead.getLines(fname); } public int getCount() { return csv.length; } public boolean check1() { // 読み込みバッファを使ってチェック1処理 // 「FieldChk01」の処理 String line; //読み込み行数 int readcount = 0; int count = 0; for(count = 0; count < csv.length; count++) { line = csv[count]; String[] columns = line.split(",", -1); readcount++; Pattern p1 = Pattern.compile("^[0-9]+$"); // 番号 Pattern p2 = Pattern.compile("^[0-9]{3}-[0-9]{4}-[0-9]{4}$"); // 携帯番号 //Pattern p3 = Pattern.compile("^[a-zA-Z]{3}[0-9]{4}$"); //社員番号(英数字) // 数字が含まれていればOK(社員番号) Pattern p3 = Pattern.compile("^[0-9a-zA-Z]+$"); //社員番号(英数字文字のみが1文字以上) Pattern p4 = Pattern.compile("^[^\\d]+$"); // 簡単な正規表現(単純に数字が含まれていないというのを確認) for(int j = 0; j < columns.length; j++) { //データ型チェック開始 if(j == 0 && p3.matcher(columns[j]).matches() == false) { System.out.println(readcount + "行目の" + "【1列目】入力規則違反。【入力値: " + columns[j] + "】"); return false; } else if(j == 1 && p4.matcher(columns[j]).matches() == false) { //if(j == 1 && p4.matcher(columns[j]).matches() == false) { System.out.println(readcount + "行目の" + "【2列目】入力規則違反。【入力値: " + columns[j] + "】"); return false; } else if(j == 2 && p1.matcher(columns[j]).matches() == false) { System.out.println(readcount + "行目の" + "【3列目】入力規則違反。【入力値: " + columns[j] + "】"); return false; } else if(j == 3 && p2.matcher(columns[j]).matches() == false) { System.out.println(readcount + "行目の" + "【4列目】入力規則違反。【入力値: " + columns[j] + "】"); return false; } } } return true; } }

[WebConetent]フォルダの[WEB-INF]フォルダ内に[csvchk.jsp]を作成して
結果を表示させたいと考えています。

jsp

<%@page contentType="text/html; charset=UTF-8" %> <%@page import="basic.exec01" %> <%@page import="basic.FRead" %> <%@page import="basic.FieldChk" %> <html><body> <h3>CSVチェック</h3> ここに結果を表示したい </body></html>

javaプロジェクト上では正常に動作しました。サーブレットを利用して
jspで結果を表示させるにはどうしたらいいでしょうか。
ご教授お願い致します。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

JSP

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

Java

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

servlet

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