###前提・実現したいこと
名前と内容をテキストフィールドに書き込み投稿ボタンを押すと下に
投稿番号、名前、内容が表示されるようなサーブレットを書きたいのですがうまくいきません。
実行するとトップのページは表示されるのですが内容を入力して投稿を押しても何も変わらないままです。
javaを勉強中なのですがjspは使わずサーブレットだけで作りたいです。
どのように訂正したらいいでしょうか。
ご教授お願いします。
###サーブレット
java
1 2 3import java.io.IOException; 4import java.io.PrintWriter; 5import java.util.ArrayList; 6 7import javax.servlet.ServletContext; 8import javax.servlet.ServletException; 9import javax.servlet.annotation.WebServlet; 10import javax.servlet.http.HttpServlet; 11import javax.servlet.http.HttpServletRequest; 12import javax.servlet.http.HttpServletResponse; 13 14 15 16@WebServlet("/Chat") 17public class Chat extends HttpServlet { 18 19 20 /** 21 * 22 */ 23 private static final long serialVersionUID = 1L; 24 25 26 public Chat() { 27 28 super(); 29 30 } 31 32 33 @Override 34 protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { 35 36 this.doPost( request, response ); 37 } 38 39 40 41 @SuppressWarnings("unused") 42 @Override 43 protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { 44 45 response.setContentType( "text/html;charset=UTF-8" ); //HTML出力 46 request.setCharacterEncoding( "UTF-8" ); 47 48 49 ArrayList<Chatclass> chatList = new ArrayList<>(); //ArrayListの生成 50 51 ServletContext chatapp = this.getServletContext(); //ServletContextインスタンスの取得 52 53 54 String name = ""; 55 String body; 56 String setting; 57 58 if ( chatapp.getAttribute( "chatList" ) != null ) { 59 chatList = (ArrayList<Chatclass>) chatapp.getAttribute( "chatList" ); //アプリケーションスコープからインスタンスを取得 60 61 name = request.getParameter( "Name" ); 62 body = request.getParameter( "Body" ); 63 setting = request.getParameter( "setting" ); 64 65 if ( request.getParameter( "Name" ) != "" && request.getParameter( "Body" ) != "" && request.getParameter( "Name" ) != null && request.getParameter( "Body" ) != null ) { 66 chatList.add( new Chatclass( name, body ) ); 67 68 } 69 } 70 int number = 5; 71 if ( request.getParameter( "num" ) != null ) { 72 number = Integer.parseInt( request.getParameter( "num" ) ); 73 74 } 75 76 77 PrintWriter out = response.getWriter(); 78 out.println( "<html>" ); 79 out.println( "<head>" ); 80 out.println( "<title>Chat</title>" ); 81 out.println( "</head>" ); 82 out.println( "<body>" ); 83 out.println( "<h1>簡易チャット</h1>" ); 84 85 out.println( "<form action='/TomcatTest/Chat' method='post'>" ); 86 87 out.println( "名前 : <input type=text name=\"name\" size=15>" ); 88 out.println( "<br>" ); 89 out.println( "<input type=text name=\"body\" size=30>" ); 90 91 out.println( "<input type=submit value=\"投稿\" name=do >" ); 92 out.println( "<input type=submit value=\"再読み込み\" name=reload>" ); 93 out.println( "<br>" ); 94 out.println( "表示件数:<input type ='number' name='num' value ='5' min='1' max='30' step='1'>行" ); 95 out.println( "<input type ='submit' value ='設定' name='setting' >" ); 96 out.println( "</form>" ); 97 98 System.out.println( "dd" ); 99 System.out.println( chatList.size() ); 100 101 for ( int i = 0; i < chatList.size(); i++ ) { 102 System.out.println( "ss" ); 103 out.println( ( chatList.size() - i ) + "" + chatList.get( chatList.size() - i ).getName() + "" + chatList.get( chatList.size() - i ).getBody() ); 104 System.out.println( "mm" ); 105 if ( i == number - 1 ) { 106 break; 107 108 } 109 } 110 out.println( "</body>" ); 111 out.println( "</html>" ); //HTMLを終了 112 chatapp.setAttribute( "chatList", chatList ); //アプリケーションスコープにインスタンスを保存 113 114 115 } 116} 117 118
###クラス
public class Chatclass { private String name = ""; private String body = ""; public Chatclass( String name, String body ) { this.name = name; this.body = body; } public String getBody() { return body; } public String getName() { return name; } }
###補足情報(言語/FW/ツール等のバージョンなど)
java
eclipse
Tomcat
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/18 05:11
2016/05/18 05:20