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

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

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

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

解決済

java チャット 表示件数

khr0404
khr0404

総合スコア43

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

1回答

0評価

0クリップ

1573閲覧

投稿2016/05/23 05:58

###前提・実現したいこと
簡易的なチャットのような物をつくっているのですが、このソースで実行すると投稿され表示された部分の件数が投稿された番号ではなく5.4.3.2.1と表示されている件数分しかでてきません。
どのように訂正したらよいでしょうか。。。
ご教授お願いします。

###ChatOutput.jsp

java

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.ArrayList" %> <%@ page import=".Contribution" %> <%@ page import=".Chat1" %> <%ArrayList<Contribution> chatList = (ArrayList<Contribution>) application.getAttribute( "chatList" ); %> <% %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>チャット</title> <h1>チャットDAO</h1> </head> <body> <form action="/Test/Chat1" method="post"> 名前:<input type="text" name = "Name" value = "" size=20> <br> <input type="text" name = "Body" value = "" size=40> <input type="submit" value=" 投稿 " name="do"> <input type="submit" value=" 再読込 " name="relode"> <br> 表示行数:<input type="number" name="num" value="5" min="1" max="100" step="1"><input type="submit" value=" 設定 " name="setting"> </form> <% int CLS =chatList.size(); for( int i = 0; i < CLS; i++ ) {%> <%= (CLS - i )%><%=" "%><%=chatList.get( CLS - 1 - i ).getName()%><%=":"%><%=chatList.get(CLS - 1 - i ).getBody()%> <% System.out.println(DLS); %> <br> <%}%> </body> </html>

###Chat1

java

import java.io.IOException; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/Chat") public class Chat1 extends HttpServlet { private static final long serialVersionUID = 1L; public Chat1() { super(); } @Override protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { this.doPost( request, response ); } @SuppressWarnings("unchecked") @Override protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setContentType( "text/html; charset=UTF-8" );//HTML出力 request.setCharacterEncoding( "UTF-8" ); try { ServletContext application = this.getServletContext();//ServletContextインスタンスの取得 ServletConfig sconfig = getServletConfig(); String primary = sconfig.getInitParameter( "chat" ); if ( primary == null ) { primary = (String) application.getAttribute( "初期値" ); } ChatDataDAOImpl_File CDIF = (ChatDataDAOImpl_File) Class.forName( primary ).newInstance(); ArrayList<Contribution> chatList = new ArrayList();//ArrayListの生成 String name = request.getParameter( "Name" ); String body = request.getParameter( "Body" ); if ( name != "" && body != "" && name != null && body != null ) { CDIF.addContribution( new Contribution( name, body ) ); } int number = 5; String num = request.getParameter( "num" ); if ( num != null ) { number = Integer.parseInt( num ); } chatList = CDIF.getContribution( number ); application.setAttribute( "chatList", chatList );//アプリケーションスコープにインスタンスを保存 application.setAttribute( "初期値", primary );//アプリケーションスコープにインスタンスを保存 RequestDispatcher dispatch = request.getRequestDispatcher( "/ChatOutput.jsp" ); dispatch.forward( request, response ); } catch ( InstantiationException e ) { e.printStackTrace(); } catch ( IllegalAccessException e ) { e.printStackTrace(); } catch ( ClassNotFoundException e ) { e.printStackTrace(); } finally { System.out.println( "finally処置" ); } } }

ChatDataDAOImpl_File

java

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; public class ChatDataDAOImpl_File implements ChatDataDAO { ArrayList<Contribution> dataList = new ArrayList(); ChatDataDAOImpl_File() { try { File chatfile = new File( "C:/Users/me/workspace3/chat/chatDAO.txt" ); BufferedReader br = new BufferedReader( new FileReader( chatfile ) ); String str = br.readLine(); while ( str != null ) { String array[] = str.split( ":" ); if ( array.length != 2 ) { break; } String name = array[0]; String body = array[1]; dataList.add( new Contribution( name, body ) ); str = br.readLine(); } br.close(); System.out.println( "ok1" ); } catch ( FileNotFoundException e ) { System.out.println( e ); } catch ( IOException e ) { System.out.println( e ); } } @Override public void addContribution( Contribution c ) { dataList.add( c ); try { File chatfile = new File( "C:/Users/me/workspace3/chat/chatDAO.txt" ); BufferedWriter bw = new BufferedWriter( new FileWriter( chatfile ) ); for ( int i = 0; i < dataList.size(); i++ ) { bw.write( dataList.get( i ).getName() + ":" + dataList.get( i ).getBody() ); bw.newLine(); } bw.close(); } catch ( IOException e ) { System.out.println( e ); } } @Override public ArrayList getContribution( int count ) { ArrayList aList = new ArrayList(); int DLS = dataList.size(); System.out.println( dataList.size() ); if ( DLS < count ) { for ( int j = 0; j < DLS; j++ ) aList.add( dataList.get( j ) ); } else { for ( int j = DLS - count; j < DLS; j++ ) { aList.add( dataList.get( j ) ); } } return aList; } }

###ChatDataDAO

java

import java.util.ArrayList; public interface ChatDataDAO { void addContribution( Contribution c ); ArrayList getContribution( int i ); }

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。