質問編集履歴

3

質問を伏せるための質問修正であったため、復元いたしました。

2020/05/25 08:27

投稿

Aya_nishimura
Aya_nishimura

スコア16

test CHANGED
@@ -1 +1 @@
1
- Javaでエラーになります。
1
+ Java+servlet「HTTPのPOSTメソッドは、このURLではサポートされていません」エラー
test CHANGED
@@ -3,3 +3,239 @@
3
3
  というエラーが起こります。以下コードになります。
4
4
 
5
5
  同じエラーを探してみても解決案が見つからず、質問をさせていただきます。
6
+
7
+ **サーブレット**
8
+
9
+ ```ここに言語を入力
10
+
11
+ package servlet;
12
+
13
+ import java.io.IOException;
14
+
15
+ import java.util.ArrayList;
16
+
17
+ import java.util.List;
18
+
19
+ import javax.servlet.RequestDispatcher;
20
+
21
+ import javax.servlet.ServletContext;
22
+
23
+ import javax.servlet.ServletException;
24
+
25
+ import javax.servlet.annotation.WebServlet;
26
+
27
+ import javax.servlet.http.HttpServlet;
28
+
29
+ import javax.servlet.http.HttpServletRequest;
30
+
31
+ import javax.servlet.http.HttpServletResponse;
32
+
33
+ import javax.servlet.http.HttpSession;
34
+
35
+ import model.Mutter;
36
+
37
+ import model.PostMutterLogic;
38
+
39
+ import model.User;
40
+
41
+ @WebServlet("/Main")
42
+
43
+ public class Main extends HttpServlet {
44
+
45
+ private static final long serialVersionUID = 1L;
46
+
47
+ protected void doPost(HttpServletRequest request,
48
+
49
+ HttpServletResponse response)
50
+
51
+ throws ServletException, IOException {
52
+
53
+ // リクエストパラメータの取得
54
+
55
+ request.setCharacterEncoding("UTF-8");
56
+
57
+ String text = request.getParameter("text");
58
+
59
+ // 入力値チェック
60
+
61
+ if (text != null && text.length() != 0) {
62
+
63
+ // アプリケーションスコープに保存されたつぶやきリストを取得
64
+
65
+ ServletContext application = this.getServletContext();
66
+
67
+ List<Mutter> mutterList =
68
+
69
+ (List<Mutter>) application.getAttribute("mutterList");
70
+
71
+ // セッションスコープに保存されたユーザー情報を取得
72
+
73
+ HttpSession session = request.getSession();
74
+
75
+ User loginUser = (User) session.getAttribute("loginUser");
76
+
77
+ // つぶやきをつぶやきリストに追加
78
+
79
+ Mutter mutter = new Mutter(loginUser.getName(), text);
80
+
81
+ PostMutterLogic postMutterLogic = new PostMutterLogic();
82
+
83
+ postMutterLogic.execute(mutter, mutterList);
84
+
85
+ // アプリケーションスコープにつぶやきリストを保存
86
+
87
+ application.setAttribute("mutterList", mutterList);
88
+
89
+ }
90
+
91
+ // メイン画面にフォワード
92
+
93
+ RequestDispatcher dispatcher =
94
+
95
+ request.getRequestDispatcher("/WEB-INF/jsp/main.jsp");
96
+
97
+ dispatcher.forward(request, response);
98
+
99
+ }
100
+
101
+ protected void doGet(HttpServletRequest request,
102
+
103
+ HttpServletResponse response)
104
+
105
+ throws ServletException, IOException {
106
+
107
+ // つぶやきリストをアプリケーションスコープから取得
108
+
109
+ ServletContext application = this.getServletContext();
110
+
111
+ List<Mutter> mutterList =
112
+
113
+ (List<Mutter>) application.getAttribute("mutterList");
114
+
115
+ // 取得できなかった場合は、つぶやきリストを新規作成して
116
+
117
+ // アプリケーションスコープに保存
118
+
119
+ if (mutterList == null) {
120
+
121
+ mutterList = new ArrayList<>();
122
+
123
+ application.setAttribute("mutterList", mutterList);
124
+
125
+ }
126
+
127
+ // ログインしているか確認するため
128
+
129
+ // セッションスコープからユーザー情報を取得
130
+
131
+ HttpSession session = request.getSession();
132
+
133
+ User loginUser = (User) session.getAttribute("loginUser");
134
+
135
+ if (loginUser == null) { // ログインしていない場合
136
+
137
+ // リダイレクト
138
+
139
+ response.sendRedirect("/docoTsubu/");
140
+
141
+ } else { // ログイン済みの場合
142
+
143
+ // フォワード
144
+
145
+ RequestDispatcher dispatcher =
146
+
147
+ request.getRequestDispatcher("/WEB-INF/jsp/main.jsp");
148
+
149
+ dispatcher.forward(request, response);
150
+
151
+ }
152
+
153
+ }
154
+
155
+ ```
156
+
157
+ **フォーム**
158
+
159
+ ```<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
160
+
161
+ <%@ page import="model.User,model.Mutter,java.util.List" %>
162
+
163
+ <%
164
+
165
+ // セッションスコープに保存されたユーザー情報を取得
166
+
167
+ User loginUser = (User) session.getAttribute("loginUser");
168
+
169
+ // アプリケーションスコープに保存されたつぶやきリストを取得
170
+
171
+ List<Mutter> mutterList = (List<Mutter>) application.getAttribute("mutterList");
172
+
173
+ %>
174
+
175
+ <!DOCTYPE html>
176
+
177
+ <html>
178
+
179
+ <head>
180
+
181
+ <meta charset="UTF-8">
182
+
183
+ <title></title>
184
+
185
+ </head>
186
+
187
+ <body>
188
+
189
+ <h1>メイン</h1>
190
+
191
+ <p>
192
+
193
+ <%= loginUser.getName() %>さん、ログイン中
194
+
195
+ <a href="/docoTsubu/Logout">ログアウト</a>
196
+
197
+ </p>
198
+
199
+ <p><a href="/docoTsubu/Main">更新</a></p>
200
+
201
+ <form action="/docoTsubu/Main" method="post">
202
+
203
+ <input type="text" name="text">
204
+
205
+ <input type="submit" value="つぶやく">
206
+
207
+ </form>
208
+
209
+ <% for(Mutter mutter : mutterList) {%>
210
+
211
+ <p><%= mutter.getUserName() %>:<%= mutter.getText() %></p>
212
+
213
+ <% } %>
214
+
215
+ </body>
216
+
217
+ </html>
218
+
219
+ コード
220
+
221
+ ```
222
+
223
+ **モデル**
224
+
225
+ ```package model;
226
+
227
+ import java.util.List;
228
+
229
+ public class PostMutterLogic {
230
+
231
+ public void execute(Mutter mutter, List<Mutter> mutterList) {
232
+
233
+ mutterList.add(0, mutter);
234
+
235
+ }
236
+
237
+ }
238
+
239
+ コード
240
+
241
+ ```

2

エラーについでてづ

2020/05/25 08:27

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Java+servlet「HTTPのPOSTメソッドは、このURLではサポートされていません」エラー
1
+ Javaでエラーになります。
test CHANGED
@@ -3,281 +3,3 @@
3
3
  というエラーが起こります。以下コードになります。
4
4
 
5
5
  同じエラーを探してみても解決案が見つからず、質問をさせていただきます。
6
-
7
-
8
-
9
- **サーブレット**
10
-
11
- ```ここに言語を入力
12
-
13
- package servlet;
14
-
15
-
16
-
17
- import java.io.IOException;
18
-
19
- import java.util.ArrayList;
20
-
21
- import java.util.List;
22
-
23
-
24
-
25
- import javax.servlet.RequestDispatcher;
26
-
27
- import javax.servlet.ServletContext;
28
-
29
- import javax.servlet.ServletException;
30
-
31
- import javax.servlet.annotation.WebServlet;
32
-
33
- import javax.servlet.http.HttpServlet;
34
-
35
- import javax.servlet.http.HttpServletRequest;
36
-
37
- import javax.servlet.http.HttpServletResponse;
38
-
39
- import javax.servlet.http.HttpSession;
40
-
41
-
42
-
43
- import model.Mutter;
44
-
45
- import model.PostMutterLogic;
46
-
47
- import model.User;
48
-
49
-
50
-
51
- @WebServlet("/Main")
52
-
53
- public class Main extends HttpServlet {
54
-
55
- private static final long serialVersionUID = 1L;
56
-
57
-
58
-
59
- protected void doPost(HttpServletRequest request,
60
-
61
- HttpServletResponse response)
62
-
63
- throws ServletException, IOException {
64
-
65
-
66
-
67
- // リクエストパラメータの取得
68
-
69
- request.setCharacterEncoding("UTF-8");
70
-
71
- String text = request.getParameter("text");
72
-
73
-
74
-
75
- // 入力値チェック
76
-
77
- if (text != null && text.length() != 0) {
78
-
79
- // アプリケーションスコープに保存されたつぶやきリストを取得
80
-
81
- ServletContext application = this.getServletContext();
82
-
83
- List<Mutter> mutterList =
84
-
85
- (List<Mutter>) application.getAttribute("mutterList");
86
-
87
-
88
-
89
- // セッションスコープに保存されたユーザー情報を取得
90
-
91
- HttpSession session = request.getSession();
92
-
93
- User loginUser = (User) session.getAttribute("loginUser");
94
-
95
-
96
-
97
- // つぶやきをつぶやきリストに追加
98
-
99
- Mutter mutter = new Mutter(loginUser.getName(), text);
100
-
101
- PostMutterLogic postMutterLogic = new PostMutterLogic();
102
-
103
- postMutterLogic.execute(mutter, mutterList);
104
-
105
-
106
-
107
- // アプリケーションスコープにつぶやきリストを保存
108
-
109
- application.setAttribute("mutterList", mutterList);
110
-
111
- }
112
-
113
-
114
-
115
- // メイン画面にフォワード
116
-
117
- RequestDispatcher dispatcher =
118
-
119
- request.getRequestDispatcher("/WEB-INF/jsp/main.jsp");
120
-
121
-
122
-
123
- dispatcher.forward(request, response);
124
-
125
- }
126
-
127
-
128
-
129
- protected void doGet(HttpServletRequest request,
130
-
131
- HttpServletResponse response)
132
-
133
- throws ServletException, IOException {
134
-
135
-
136
-
137
- // つぶやきリストをアプリケーションスコープから取得
138
-
139
- ServletContext application = this.getServletContext();
140
-
141
- List<Mutter> mutterList =
142
-
143
- (List<Mutter>) application.getAttribute("mutterList");
144
-
145
- // 取得できなかった場合は、つぶやきリストを新規作成して
146
-
147
- // アプリケーションスコープに保存
148
-
149
- if (mutterList == null) {
150
-
151
- mutterList = new ArrayList<>();
152
-
153
- application.setAttribute("mutterList", mutterList);
154
-
155
- }
156
-
157
- // ログインしているか確認するため
158
-
159
- // セッションスコープからユーザー情報を取得
160
-
161
- HttpSession session = request.getSession();
162
-
163
- User loginUser = (User) session.getAttribute("loginUser");
164
-
165
- if (loginUser == null) { // ログインしていない場合
166
-
167
- // リダイレクト
168
-
169
- response.sendRedirect("/docoTsubu/");
170
-
171
- } else { // ログイン済みの場合
172
-
173
- // フォワード
174
-
175
- RequestDispatcher dispatcher =
176
-
177
- request.getRequestDispatcher("/WEB-INF/jsp/main.jsp");
178
-
179
- dispatcher.forward(request, response);
180
-
181
- }
182
-
183
- }
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
- ```
192
-
193
- **フォーム**
194
-
195
- ```<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
196
-
197
- <%@ page import="model.User,model.Mutter,java.util.List" %>
198
-
199
- <%
200
-
201
- // セッションスコープに保存されたユーザー情報を取得
202
-
203
- User loginUser = (User) session.getAttribute("loginUser");
204
-
205
- // アプリケーションスコープに保存されたつぶやきリストを取得
206
-
207
- List<Mutter> mutterList = (List<Mutter>) application.getAttribute("mutterList");
208
-
209
- %>
210
-
211
- <!DOCTYPE html>
212
-
213
- <html>
214
-
215
- <head>
216
-
217
- <meta charset="UTF-8">
218
-
219
- <title></title>
220
-
221
- </head>
222
-
223
- <body>
224
-
225
- <h1>メイン</h1>
226
-
227
- <p>
228
-
229
- <%= loginUser.getName() %>さん、ログイン中
230
-
231
- <a href="/docoTsubu/Logout">ログアウト</a>
232
-
233
- </p>
234
-
235
- <p><a href="/docoTsubu/Main">更新</a></p>
236
-
237
- <form action="/docoTsubu/Main" method="post">
238
-
239
- <input type="text" name="text">
240
-
241
- <input type="submit" value="つぶやく">
242
-
243
- </form>
244
-
245
- <% for(Mutter mutter : mutterList) {%>
246
-
247
- <p><%= mutter.getUserName() %>:<%= mutter.getText() %></p>
248
-
249
- <% } %>
250
-
251
- </body>
252
-
253
- </html>
254
-
255
- コード
256
-
257
- ```
258
-
259
-
260
-
261
- **モデル**
262
-
263
- ```package model;
264
-
265
-
266
-
267
- import java.util.List;
268
-
269
-
270
-
271
- public class PostMutterLogic {
272
-
273
- public void execute(Mutter mutter, List<Mutter> mutterList) {
274
-
275
- mutterList.add(0, mutter);
276
-
277
- }
278
-
279
- }
280
-
281
- コード
282
-
283
- ```

1

ああああああ

2020/05/23 06:32

投稿

Aya_nishimura
Aya_nishimura

スコア16

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
 
8
8
 
9
+ **サーブレット**
10
+
9
11
  ```ここに言語を入力
10
12
 
11
13
  package servlet;
@@ -187,3 +189,95 @@
187
189
 
188
190
 
189
191
  ```
192
+
193
+ **フォーム**
194
+
195
+ ```<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
196
+
197
+ <%@ page import="model.User,model.Mutter,java.util.List" %>
198
+
199
+ <%
200
+
201
+ // セッションスコープに保存されたユーザー情報を取得
202
+
203
+ User loginUser = (User) session.getAttribute("loginUser");
204
+
205
+ // アプリケーションスコープに保存されたつぶやきリストを取得
206
+
207
+ List<Mutter> mutterList = (List<Mutter>) application.getAttribute("mutterList");
208
+
209
+ %>
210
+
211
+ <!DOCTYPE html>
212
+
213
+ <html>
214
+
215
+ <head>
216
+
217
+ <meta charset="UTF-8">
218
+
219
+ <title></title>
220
+
221
+ </head>
222
+
223
+ <body>
224
+
225
+ <h1>メイン</h1>
226
+
227
+ <p>
228
+
229
+ <%= loginUser.getName() %>さん、ログイン中
230
+
231
+ <a href="/docoTsubu/Logout">ログアウト</a>
232
+
233
+ </p>
234
+
235
+ <p><a href="/docoTsubu/Main">更新</a></p>
236
+
237
+ <form action="/docoTsubu/Main" method="post">
238
+
239
+ <input type="text" name="text">
240
+
241
+ <input type="submit" value="つぶやく">
242
+
243
+ </form>
244
+
245
+ <% for(Mutter mutter : mutterList) {%>
246
+
247
+ <p><%= mutter.getUserName() %>:<%= mutter.getText() %></p>
248
+
249
+ <% } %>
250
+
251
+ </body>
252
+
253
+ </html>
254
+
255
+ コード
256
+
257
+ ```
258
+
259
+
260
+
261
+ **モデル**
262
+
263
+ ```package model;
264
+
265
+
266
+
267
+ import java.util.List;
268
+
269
+
270
+
271
+ public class PostMutterLogic {
272
+
273
+ public void execute(Mutter mutter, List<Mutter> mutterList) {
274
+
275
+ mutterList.add(0, mutter);
276
+
277
+ }
278
+
279
+ }
280
+
281
+ コード
282
+
283
+ ```