質問編集履歴

3

内容訂正

2016/05/30 02:45

投稿

khr0404
khr0404

スコア43

test CHANGED
File without changes
test CHANGED
@@ -750,35 +750,7 @@
750
750
 
751
751
  </html>
752
752
 
753
- ```
753
+ `
754
-
755
- ###間違いだと思うところ
756
-
757
- ・Contributionクラスの中でTIMESTAMPでテーブルを作成したのにgetDate()で取得しようとしているところ
758
-
759
- ・Chat1クラスの
760
-
761
- Date data = new Date();
762
-
763
- ` String date = request.getParameter( "" );`
764
-
765
- ・ ChatDataDAO_CHATクラスの
766
-
767
- ` String sql = "INSERT INTO CHAT VALUES(? , ? , ? , ? )"; `//INSERT文の準備
768
-
769
-
770
-
771
- ` pStmt.setString( 4, c.getDate() );`
772
-
773
-
774
-
775
- ここが間違いだと思うのですがどのように訂正したらよいでしょうか。
776
-
777
- TIMESTAMPに時間を入力するにはCURRENT_TIMESTAMPをつかうのは解っています。。。
778
-
779
-
780
-
781
- どうかご教授お願い致します。
782
754
 
783
755
 
784
756
 

2

内容訂正

2016/05/30 02:45

投稿

khr0404
khr0404

スコア43

test CHANGED
File without changes
test CHANGED
@@ -1,22 +1,36 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- 簡単なチャットを作ているのですがjava記述の中に書くDBの接続がうきません。
3
+ 簡単なチャットを作成しているのですが表示画面に表示される一件目データがDBから得た情報ではなく入力された情報を表示してしまい
4
+
5
+
6
+
4
-
7
+ DBでは文字数やnullを制限しているのに最初の投稿ボタン押下後では表示されてしまい、
8
+
5
-
9
+ 再び投稿ボタン押下か再読み込みをすると消えるという現象が起きています。
10
+
6
-
11
+ データを表示する時にcontributionのgetでとってきているのですがどのように訂正すればよいでしょうか?
12
+
13
+
14
+
7
- 時間をとりたのでがDBは
15
+ ご教授尾お願致しま
16
+
17
+
18
+
19
+
20
+
21
+ DBは
8
22
 
9
23
 
10
24
 
11
25
  CREATE TABLE CHAT (
12
26
 
13
- ID VARCHAR NOT NULL ,
27
+ ID VARCHAR (8)NOT NULL ,
14
-
28
+
15
- TITLE VARCHAR NOT NULL,
29
+ TITLE VARCHAR(20) NOT NULL,
16
-
30
+
17
- BODY VARCHAR NOT NULL,
31
+ BODY VARCHAR (100)NOT NULL,
18
-
32
+
19
- DATE TIMESTAMP,
33
+ DATE VARCHAR (20) NOT NULL,
20
34
 
21
35
  );
22
36
 

1

内容訂正

2016/05/30 02:42

投稿

khr0404
khr0404

スコア43

test CHANGED
File without changes
test CHANGED
@@ -68,8 +68,6 @@
68
68
 
69
69
 
70
70
 
71
- //ファイルから投稿情報を読み取り、dateListメンバに格納する
72
-
73
71
  public ChatDataDAO_CHAT() {
74
72
 
75
73
 
@@ -112,7 +110,7 @@
112
110
 
113
111
  String body = "";
114
112
 
115
- String date = "";
113
+ String datetime = "";
116
114
 
117
115
 
118
116
 
@@ -124,11 +122,13 @@
124
122
 
125
123
  body = result.getString( "BODY" );
126
124
 
127
- date = result.getString( "DATE" );
125
+ datetime = result.getString( "DATE" );
128
-
129
-
130
-
126
+
127
+
128
+
131
- dataList.add( new Contribution( id, title, body, date ) );
129
+ dataList.add( new Contribution( id, title, body, datetime ) );
130
+
131
+
132
132
 
133
133
 
134
134
 
@@ -174,7 +174,7 @@
174
174
 
175
175
 
176
176
 
177
- //投稿情報をdataListメンバに追加し、ファイルへ保存する
177
+ //投稿情報をdataListメンバに追加し、DBへ保存する
178
178
 
179
179
  @Override
180
180
 
@@ -204,7 +204,7 @@
204
204
 
205
205
 
206
206
 
207
- String sql = "INSERT INTO CHAT VALUES(? , ? , ? , ? )"; //INSERT文の準備
207
+ String sql = "INSERT INTO CHAT VALUES(? , ? , ? ,? )"; //INSERT文の準備
208
208
 
209
209
 
210
210
 
@@ -220,7 +220,9 @@
220
220
 
221
221
  pStmt.setString( 3, c.getBody() );
222
222
 
223
+
224
+
223
- pStmt.setString( 4, c.getDate() );
225
+ pStmt.setString( 4, c.getDatetime() );
224
226
 
225
227
 
226
228
 
@@ -266,22 +268,20 @@
266
268
 
267
269
 
268
270
 
269
- //dataListからcount件数文の投稿を保持したListに返却する
271
+ //dataListからcount件数文の投稿を保持したListに返却する
270
272
 
271
273
  @Override
272
274
 
273
- public ArrayList getContribution( int count ) {
275
+ public ArrayList<Contribution> getContribution( int count ) {
274
-
275
-
276
-
276
+
277
+
278
+
277
- ArrayList aList = new ArrayList();
279
+ ArrayList<Contribution> aList = new ArrayList<Contribution>();
278
280
 
279
281
  int DLS = dataList.size();
280
282
 
281
283
 
282
284
 
283
- System.out.println( dataList.size() );
284
-
285
285
  if ( DLS < count ) {
286
286
 
287
287
  for ( int j = 0; j < DLS; j++ )
@@ -294,6 +294,8 @@
294
294
 
295
295
  aList.add( dataList.get( j ) );
296
296
 
297
+
298
+
297
299
  }
298
300
 
299
301
  }
@@ -310,6 +312,8 @@
310
312
 
311
313
 
312
314
 
315
+
316
+
313
317
  ```
314
318
 
315
319
 
@@ -318,10 +322,6 @@
318
322
 
319
323
  ```java
320
324
 
321
-
322
-
323
- @WebServlet("/Chat")
324
-
325
325
  public class Chat1 extends HttpServlet {
326
326
 
327
327
 
@@ -356,13 +356,13 @@
356
356
 
357
357
  this.doPost( request, response );
358
358
 
359
+
360
+
359
- }
361
+ }
360
-
361
-
362
-
363
-
364
-
365
- @SuppressWarnings("unchecked")
362
+
363
+
364
+
365
+
366
366
 
367
367
  @Override
368
368
 
@@ -370,6 +370,8 @@
370
370
 
371
371
 
372
372
 
373
+
374
+
373
375
  response.setContentType( "text/html; charset=UTF-8" );//HTML出力
374
376
 
375
377
  request.setCharacterEncoding( "UTF-8" );
@@ -402,7 +404,7 @@
402
404
 
403
405
 
404
406
 
405
- ArrayList<Contribution> chatList = new ArrayList();//ArrayListの生成
407
+ ArrayList<Contribution> chatList = new ArrayList<Contribution>();//ArrayListの生成
406
408
 
407
409
  String id = request.getParameter( "Id" );
408
410
 
@@ -410,9 +412,11 @@
410
412
 
411
413
  String body = request.getParameter( "Body" );
412
414
 
413
- Date data = new Date();
415
+ Date date = new Date();
414
-
416
+
417
+
418
+
415
- String date = request.getParameter( "" );
419
+ String datetime = dateString( date );
416
420
 
417
421
 
418
422
 
@@ -424,7 +428,7 @@
424
428
 
425
429
 
426
430
 
427
- CDC.addContribution( new Contribution( id, title, body, date ) );
431
+ CDC.addContribution( new Contribution( id, title, body, datetime ) );
428
432
 
429
433
  }
430
434
 
@@ -454,6 +458,8 @@
454
458
 
455
459
  application.setAttribute( "aList", aList );
456
460
 
461
+
462
+
457
463
  RequestDispatcher dispatch = request.getRequestDispatcher( "/ChatOutput.jsp" );
458
464
 
459
465
  dispatch.forward( request, response );
@@ -488,12 +494,42 @@
488
494
 
489
495
  }
490
496
 
497
+
498
+
491
- }
499
+ }
500
+
501
+
502
+
503
+ static public final String DATE_PATTERN = "yyyy/MM/dd HH:mm:ss";
504
+
505
+
506
+
507
+
508
+
509
+ public static String dateString( Date date ) {
510
+
511
+
512
+
513
+ String str;
514
+
515
+ if ( date == null ) {
516
+
517
+ str = null;
518
+
519
+ } else {
520
+
521
+ str = new SimpleDateFormat( DATE_PATTERN ).format( date );
522
+
523
+ }
524
+
525
+ return str;
526
+
527
+ }
528
+
529
+
492
530
 
493
531
  }
494
532
 
495
-
496
-
497
533
  ```
498
534
 
499
535
 
@@ -614,9 +650,93 @@
614
650
 
615
651
  ```
616
652
 
617
-
653
+ ###JSP
654
+
618
-
655
+ ```java
656
+
657
+
658
+
659
+
660
+
619
-
661
+ <%ArrayList<Contribution> chatList = (ArrayList<Contribution>) application.getAttribute( "chatList" ); %>
662
+
663
+ <% int aList =(Integer)application.getAttribute( "aList" ); %>
664
+
665
+ <% %>
666
+
667
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
668
+
669
+ <html>
670
+
671
+ <head>
672
+
673
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
674
+
675
+
676
+
677
+ <title>チャット</title>
678
+
679
+ <h1>チャットDAO</h1>
680
+
681
+ </head>
682
+
683
+
684
+
685
+ <body>
686
+
687
+ <form action="/Test/Chat1" method="post">
688
+
689
+ ID:<input type="text" name = "Id" value = "" size=20>
690
+
691
+ タイトル<input type="text" name="Title" value="" size=20>
692
+
693
+ <br>
694
+
695
+ <input type="text" name = "Body" value = "" size=40>
696
+
697
+ <input type="submit" value=" 投稿 " name="do">
698
+
699
+ <input type="button" onclick="location.replace(location.href)" value="ページを更新">
700
+
701
+ <br>
702
+
703
+ 表示行数:<input type="number" name="num" value="5" min="1" max="100" step="1">行
704
+
705
+ <input type="submit" value=" 設定 " name="setting">
706
+
707
+ </form>
708
+
709
+
710
+
711
+ <% int CLS =chatList.size();
712
+
713
+ for( int i = 0; i < chatList.size(); i++ ) {%>
714
+
715
+
716
+
717
+
718
+
719
+ <%="ID:"%><%=chatList.get(CLS-1-i).getId()%>
720
+
721
+ <%=" タイトル:"%><%=chatList.get( CLS - 1 - i ).getTitle()%>
722
+
723
+ <%=" "%><%=chatList.get( CLS-1-i ).getDatetime( ) %>
724
+
725
+ <br>
726
+
727
+ <%=chatList.get(CLS - 1 - i ).getBody()%>
728
+
729
+ <br>
730
+
731
+ <%}
732
+
733
+ %>
734
+
735
+ </body>
736
+
737
+ </html>
738
+
739
+ ```
620
740
 
621
741
  ###間違いだと思うところ
622
742