teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

タイトル変更

2021/02/18 11:20

投稿

genba89000
genba89000

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- Java servlet ブラウザごとに値を加算したい(簡易掲示板
1
+ Java servlet 簡易掲示板の値の保持
body CHANGED
File without changes

6

アドバイスを受けて

2021/02/18 11:20

投稿

genba89000
genba89000

スコア0

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  ### 該当のソースコード
17
17
 
18
- ```jsp(view)
18
+ ```jsp
19
19
 
20
20
  <%@ page language="java" contentType="text/html; charset=UTF-8"
21
21
  pageEncoding="UTF-8"%>
@@ -33,7 +33,7 @@
33
33
  </html>
34
34
  ```
35
35
 
36
- ```java(model)SiteEvent
36
+ ```SiteEvent
37
37
  package model;
38
38
 
39
39
  public class SiteEvent {
@@ -62,7 +62,7 @@
62
62
  }
63
63
  ```
64
64
 
65
- ```servlet(contorol)
65
+ ```servlet
66
66
  package servlet;
67
67
 
68
68
 

5

アドバイスを受けて

2021/02/18 10:32

投稿

genba89000
genba89000

スコア0

title CHANGED
File without changes
body CHANGED
@@ -15,8 +15,8 @@
15
15
 
16
16
  ### 該当のソースコード
17
17
 
18
- ```
19
- jsp(view)
18
+ ```jsp(view)
19
+
20
20
  <%@ page language="java" contentType="text/html; charset=UTF-8"
21
21
  pageEncoding="UTF-8"%>
22
22
  <!DOCTYPE html>
@@ -33,9 +33,7 @@
33
33
  </html>
34
34
  ```
35
35
 
36
- ```
37
- java(model)
36
+ ```java(model)SiteEvent
38
- SiteEvent
39
37
  package model;
40
38
 
41
39
  public class SiteEvent {
@@ -51,8 +49,7 @@
51
49
  }
52
50
  }
53
51
  ```
54
- ```
55
- SiteEventLogic
52
+ ```SiteEventLogic
56
53
  package model;
57
54
 
58
55
  public class SiteEventLogic {
@@ -65,8 +62,7 @@
65
62
  }
66
63
  ```
67
64
 
68
- ```
69
- servlet(contorol)
65
+ ```servlet(contorol)
70
66
  package servlet;
71
67
 
72
68
 

4

変更

2021/02/18 10:30

投稿

genba89000
genba89000

スコア0

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,8 @@
15
15
 
16
16
  ### 該当のソースコード
17
17
 
18
+ ```
18
- #####jsp(view)
19
+ jsp(view)
19
20
  <%@ page language="java" contentType="text/html; charset=UTF-8"
20
21
  pageEncoding="UTF-8"%>
21
22
  <!DOCTYPE html>
@@ -30,9 +31,11 @@
30
31
  <font size="5"><a href="./Contorol?action=yoine">いいね</a>:${yoine.yoineCount}人</font>
31
32
  </body>
32
33
  </html>
34
+ ```
33
35
 
36
+ ```
34
- #####java(model)
37
+ java(model)
35
- ######SiteEvent
38
+ SiteEvent
36
39
  package model;
37
40
 
38
41
  public class SiteEvent {
@@ -47,8 +50,9 @@
47
50
  return yoineCount;
48
51
  }
49
52
  }
50
-
53
+ ```
54
+ ```
51
- ######SiteEventLogic
55
+ SiteEventLogic
52
56
  package model;
53
57
 
54
58
  public class SiteEventLogic {
@@ -59,8 +63,10 @@
59
63
  y.setYoineCount(count);
60
64
  }
61
65
  }
66
+ ```
62
67
 
68
+ ```
63
- ######servlet(contorol)
69
+ servlet(contorol)
64
70
  package servlet;
65
71
 
66
72
 
@@ -121,11 +127,11 @@
121
127
  }
122
128
 
123
129
  }
130
+ ```
124
131
 
125
132
 
126
133
 
127
134
 
128
-
129
135
  ### 試したこと
130
136
 
131
137
  モデルであるjavaでif文を使っていいねのキャンセルなどはしてみたが、それではブラウザごとでは変わらない。

3

タイトル変更

2021/02/18 10:29

投稿

genba89000
genba89000

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- Java servlet ブラウザ ブラウザごとに値を加算したい(簡易掲示板)
1
+ Java servlet ブラウザごとに値を加算したい(簡易掲示板)
body CHANGED
File without changes

2

タイトル変更

2021/02/17 14:47

投稿

genba89000
genba89000

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- Java servlet ブラウザごとに値を管理したい
1
+ Java servlet ブラウザ ブラウザごとに値を加算したい(簡易掲示板)
body CHANGED
File without changes

1

ソースコードの追加をしました

2021/02/17 14:47

投稿

genba89000
genba89000

スコア0

title CHANGED
File without changes
body CHANGED
@@ -15,10 +15,117 @@
15
15
 
16
16
  ### 該当のソースコード
17
17
 
18
+ #####jsp(view)
19
+ <%@ page language="java" contentType="text/html; charset=UTF-8"
20
+ pageEncoding="UTF-8"%>
21
+ <!DOCTYPE html>
22
+ <html>
18
- Java
23
+ <head>
24
+ <meta charset="UTF-8">
25
+ <title>簡易掲示板</title>
26
+ </head>
27
+ <body>
28
+ <h1>なんかの投稿</h1>
29
+ <form action="./index12" method="Post">
30
+ <font size="5"><a href="./Contorol?action=yoine">いいね</a>:${yoine.yoineCount}人</font>
31
+ </body>
32
+ </html>
19
33
 
34
+ #####java(model)
35
+ ######SiteEvent
36
+ package model;
20
37
 
38
+ public class SiteEvent {
39
+ private int yoineCount = 0;
40
+ private int yokunaineCount = 0;
21
41
 
42
+ public void setYoineCount(int yoineCount) {
43
+ this.yoineCount = yoineCount;
44
+ }
45
+
46
+ public int getYoineCount() {
47
+ return yoineCount;
48
+ }
49
+ }
50
+
51
+ ######SiteEventLogic
52
+ package model;
53
+
54
+ public class SiteEventLogic {
55
+
56
+ public void yoinePlus(SiteEvent y) {
57
+ int count = y.getYoineCount();
58
+ count++;
59
+ y.setYoineCount(count);
60
+ }
61
+ }
62
+
63
+ ######servlet(contorol)
64
+ package servlet;
65
+
66
+
67
+
68
+ import java.io.IOException;
69
+ import javax.servlet.RequestDispatcher;
70
+ import javax.servlet.ServletContext;
71
+ import javax.servlet.ServletException;
72
+ import javax.servlet.annotation.WebServlet;
73
+ import javax.servlet.http.HttpServlet;
74
+ import javax.servlet.http.HttpServletRequest;
75
+ import javax.servlet.http.HttpServletResponse;
76
+ import model.SiteEvent;
77
+ import model.SiteEventLogic;
78
+
79
+
80
+ @WebServlet("/Contorol")
81
+ public class Contorol extends HttpServlet {
82
+ private static final long serialVersionUID = 1L;
83
+
84
+
85
+
86
+ @Override
87
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
88
+ throws ServletException, IOException {
89
+
90
+ // 初回起動を判定するための処理
91
+ // アプリケーションスコープから値を取得
92
+ ServletContext sc = this.getServletContext();
93
+ SiteEvent y = (SiteEvent) sc.getAttribute("yoine");
94
+
95
+ // 初回起動判定の続き
96
+ // アプリケーションスコープに値がなければnewする
97
+ if(y == null) {
98
+ y = new SiteEvent();
99
+ sc.setAttribute("yoine", y);
100
+ }
101
+
102
+ // リクエストパラメーターの取得
103
+ request.setCharacterEncoding("UTF-8");
104
+ String yoine = request.getParameter("action");
105
+
106
+ // いいねボタン押されたら
107
+ if (yoine != null){
108
+
109
+ // SiteEventLogicでいいねを加算
110
+ SiteEventLogic yl = new SiteEventLogic();
111
+ yl.yoinePlus(y);
112
+
113
+ // いいねの数をアプリケーションスコープに保存
114
+ sc.setAttribute("yoine", y);
115
+ }
116
+
117
+ // フォワード
118
+ RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/keijiban.jsp");
119
+ rd.forward(request, response);
120
+
121
+ }
122
+
123
+ }
124
+
125
+
126
+
127
+
128
+
22
129
  ### 試したこと
23
130
 
24
131
  モデルであるjavaでif文を使っていいねのキャンセルなどはしてみたが、それではブラウザごとでは変わらない。