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

質問編集履歴

3

変更

2019/08/31 01:09

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -7,11 +7,12 @@
7
7
  MariaDB,HediSQLを使っています。構成は以下の通りとなっており、
8
8
  必要なファイルはリンクを参照していただければ幸いです。
9
9
  ![イメージ説明](9bf429b18c41fefcf6f06d9f5dfd02e8.png)
10
+ となっています。
10
11
 
11
- となっています。
12
+
12
- DetailServlet_396.java, InputServlet_398.java,SearchServlet_377.java、は正常に実行されます。
13
+ DetailServlet.java, InputServlet.java,SearchServlet.java、は正常に実行されます。
13
14
 
14
- InputServlet_398.javaを実行し、新規に登録をしてエンターで RegisterServlet.javaが実行されて正常(文字化けありますが)に表示されます。
15
+ InputServlet.javaを実行し、新規に登録をしてエンターで RegisterServlet.javaが実行されて正常(文字化けありますが)に表示されます。
15
16
 
16
17
  RegisterServlet.javaを単独でEclipseで実行するとHTTPステータス 405 - Method Not Allowedが出て困っています。
17
18
  それでprotected void doGet(HttpServletRequest request, HttpServletResponse response)

2

質問の仕方の変更

2019/08/31 01:09

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,41 +1,29 @@
1
1
  「はじめてのJSP&サーブレット」をEclipse4.6を使って勉強しています。
2
+ 同じ著者によるコードがネット上にあります。
3
+ [リンク内容](http://i-b-c.jp/java/java-10/)
4
+
2
- 最後の章でサーブレットとJSPファイルを連携して、データベースを検索表示して、
5
+ サーブレットとJSPファイルを連携して、データベースを検索表示して、
3
6
  変更処理、新規登録、削除などをできるTODO管理アプリケーションを作成しています。
4
- 以前同じような症状で質問しているんでが、読み直しもよくわかません。
7
+ MariaDB,HediSQLを使ってい。構成は以下の通りとなっ
5
- よくエラーが出るので、ページ区切って実行していす。
8
+ 必要なファイルはリンク参照していただければ幸いです。
6
- プロジェクト構成
7
- 10_todo_400_405
8
- |
9
- |---src
10
- | |
11
- | todo
12
- | |
13
- | dao---DAO_379.java
14
- | TodoDAO_400.java
15
- | dto---Todo_383.java
16
- | web---DetailServlet_396.java
17
- | InputServlet_398.java
18
- | RegisterServlet_402.java
9
+ ![イメージ説明](9bf429b18c41fefcf6f06d9f5dfd02e8.png)
19
- | SearchServlet_377.java
20
- |---WebContent
21
- | |---META-INF---context.xml
22
- |   |
23
- | |---WEB-INF---lib
24
- | web.xml
25
- |---detail_391.jsp
26
- |---header_367.jsp
27
- |---index_388.jsp
28
- |---nav_368.jsp
29
- |---search_387.jsp
30
10
 
31
11
  となっています。
32
- DetailServlet_396.java, InputServlet_398.java,SearchServlet_377.java
12
+ DetailServlet_396.java, InputServlet_398.java,SearchServlet_377.java、は正常に実行されます。
13
+
14
+ InputServlet_398.javaを実行し、新規に登録をしてエンターで RegisterServlet.javaが実行されて正常(文字化けありますが)に表示されます。
15
+
33
- は正常に表示されています。昨日まで正常動作していた RegisterServlet_402.javaHTTPステータス 405 - Method Not Allowedが出てこまっています。
16
+ RegisterServlet.javaを単独でEclipseで実行するとHTTPステータス 405 - Method Not Allowedが出てっています。
17
+ それでprotected void doGet(HttpServletRequest request, HttpServletResponse response)
18
+ throws ServletException, IOException {
19
+ }
20
+ メソッド(ネットを参考に)を後のほうに追加して実行しました。
21
+ ブラウザははhttp://localhost:8080/10_todo_400_405/todo/registerという表示で、
22
+ 白い画面で何も表示されていませんが、エラーは消えました。
34
- ログイン画面のところでつまずい、server.xml をってこの症状が出ていると思すが、解決できていません
23
+ 一昨日までは、何か画面に表示されていたような気がします。間違っているのか、れで正常なかわからないので、教えていただきたのですがよろしくお願
35
- コンソールのエラーを見ていただけませんか。
36
24
 
37
25
  ```
38
- //RegisterServlet_402
26
+ //RegisterServlet
39
27
  package todo.web;
40
28
 
41
29
  import java.io.IOException;
@@ -47,14 +35,14 @@
47
35
  import javax.servlet.http.HttpServletRequest;
48
36
  import javax.servlet.http.HttpServletResponse;
49
37
 
50
- import todo.dao.TodoDAO_400;
38
+ import todo.dao.TodoDAO;
51
- import todo.dto.Todo_383;
39
+ import todo.dto.Todo;
52
40
 
53
41
  /**
54
42
  * 登録処理を行う。
55
43
  */
56
44
  @WebServlet("/todo/register")
57
- public class RegisterServlet_402 extends HttpServlet {
45
+ public class RegisterServlet extends HttpServlet {
58
46
 
59
47
  private static final long serialVersionUID = 1L;
60
48
 
@@ -79,7 +67,7 @@
79
67
  int status = Integer.parseInt(request.getParameter("status"));
80
68
 
81
69
  // DTOへ格納する。登録される期限(limit)はTodoクラスではinputLimitになる。
82
- Todo_383 dto = new Todo_383();
70
+ Todo dto = new Todo();
83
71
 
84
72
  dto.setId(id);
85
73
 
@@ -105,7 +93,7 @@
105
93
  request.setAttribute("dto", dto);
106
94
 
107
95
  // 詳細画面を表示する
108
- RequestDispatcher rd = request.getRequestDispatcher("/detail_391.jsp");
96
+ RequestDispatcher rd = request.getRequestDispatcher("/detail.jsp");
109
97
 
110
98
  rd.forward(request, response);
111
99
 
@@ -115,7 +103,7 @@
115
103
 
116
104
  String message = "";
117
105
 
118
- try(TodoDAO_400 dao = new TodoDAO_400()) {
106
+ try(TodoDAO dao = new TodoDAO()) {
119
107
 
120
108
  // 更新または登録処理を行う
121
109
  // idが0のときは新規登録、id>=1のときは更新
@@ -161,59 +149,56 @@
161
149
 
162
150
  }
163
151
 
152
+ ```
164
153
 
165
154
  ```
166
- ```
167
- //context.xml
155
+ //InputServlet.java
168
- <?xml version="1.0" encoding="UTF-8"?>
156
+ package todo.web;
169
157
 
170
- <!DOCTYPE html>
158
+ import java.io.IOException;
171
159
 
160
+ import javax.servlet.RequestDispatcher;
172
- <Context>
161
+ import javax.servlet.ServletException;
162
+ import javax.servlet.annotation.WebServlet;
163
+ import javax.servlet.http.HttpServlet;
164
+ import javax.servlet.http.HttpServletRequest;
165
+ import javax.servlet.http.HttpServletResponse;
173
166
 
174
- <Resource driverClassName="org.mariadb.jdbc.Driver"
167
+ import todo.dto.Todo;
175
168
 
169
+ /**
170
+ * 新規登録の入力画面を表示する。
171
+ */
176
- auth="Container"
172
+ @WebServlet("/todo/input")
173
+ public class InputServlet extends HttpServlet {
174
+ private static final long serialVersionUID = 1L;
177
175
 
176
+ /**
177
+ * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
178
+ * response)
179
+ */
178
- initialSize="1"
180
+ protected void doGet(HttpServletRequest request,
181
+ HttpServletResponse response) throws ServletException, IOException {
179
182
 
180
- maxIdle="1"
183
+ // voの作成
184
+ Todo dto = new Todo();
181
185
 
182
- maxWaitMillis="-1"
186
+ // 新規登録であることを判別するためid=0としている。
187
+ dto.setId(0);
183
188
 
189
+ // タスク1件のvoをリクエスト属性へバインド
184
- name="jdbc/MariaDB"
190
+ request.setAttribute("dto", dto);
185
191
 
192
+ // 詳細画面を表示する
193
+ RequestDispatcher rd = request.getRequestDispatcher("/detail.jsp");
186
- type="javax.sql.DataSource"
194
+ rd.forward(request, response);
195
+ }
196
+ }
187
197
 
188
- url="jdbc:mysql://127.0.0.1:3306/test"
198
+ ```
189
199
 
190
- username="root"
191
200
 
192
- password="password"
193
-
194
- defaultAutoCommit="false" />
195
-
196
- <ResourceLink name="jdbc/MariaDB" global="jdbc/authDB" type="javax.sql.DataSource" />
197
-
198
- </Context>
199
201
  ```
200
-
201
- ```
202
- // web.xml
203
- <?xml version="1.0" encoding="UTF-8"?>
204
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
205
- <display-name>10_todo_400_405</display-name>
206
- <welcome-file-list>
207
- <welcome-file>index.html</welcome-file>
208
- <welcome-file>index.htm</welcome-file>
209
- <welcome-file>index.jsp</welcome-file>
210
- <welcome-file>default.html</welcome-file>
211
- <welcome-file>default.htm</welcome-file>
212
- <welcome-file>default.jsp</welcome-file>
213
- </welcome-file-list>
214
- </web-app>
215
- ```
216
- ```
217
202
  HTTPステータス 405 - Method Not Allowed
218
203
 
219
204
 
@@ -221,67 +206,4 @@
221
206
 
222
207
  メッセージ HTTPのGETメソッドは、このURLではサポートされていません。
223
208
 
224
- 説明 The method received in the request-line is known by the origin server but not supported by the target resource
225
-
226
-
227
- //コンソール
228
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
229
- 情報: Server version: Apache Tomcat/8.5.43
230
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
231
- 情報: Server built: Jul 4 2019 20:53:15 UTC
232
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
233
- 情報: Server number: 8.5.43.0
234
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
235
- 情報: OS Name: Windows 10
236
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
237
- 情報: OS Version: 10.0
238
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
239
- 情報: Architecture: amd64
240
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
241
- 情報: Java Home: C:\Program Files\Java\jdk1.8.0_221\jre
242
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
243
- 情報: JVM Version: 1.8.0_221-b11
244
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
245
- 情報: JVM Vendor: Oracle Corporation
246
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
247
- 情報: CATALINA_BASE: C:\pleiades4.6\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp1
248
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
249
- 情報: CATALINA_HOME: C:\Program Files\Apache Software Foundation\Tomcat 8.5
250
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
251
- 情報: Command line argument: -Dcatalina.base=C:\pleiades4.6\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp1
252
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
253
- 情報: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.5
254
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
255
- 情報: Command line argument: -Dwtp.deploy=C:\pleiades4.6\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
256
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
257
- 情報: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed
258
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
259
- 情報: Command line argument: -Dfile.encoding=UTF-8
260
- 8 30, 2019 8:22:31 午後 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
261
- 情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_221\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/pleiades4.6/eclipse/jre/bin/../jre/bin/server;C:/pleiades4.6/eclipse/jre/bin/../jre/bin;C:/pleiades4.6/eclipse/jre/bin/../jre/lib/amd64;%JAVA_HOME%bin;%CATALINA_HOME%bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;%ECLIPSE_HOME%;C:\Program Files\PuTTY\;C:\Users\hirok\AppData\Local\Microsoft\WindowsApps;;C:\pleiades4.6\eclipse;;.]
262
- 8 30, 2019 8:22:31 午後 org.apache.coyote.AbstractProtocol init
263
- 情報: Initializing ProtocolHandler ["http-nio-8080"]
264
- 8 30, 2019 8:22:31 午後 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
265
- 情報: Using a shared selector for servlet write/read
266
- 8 30, 2019 8:22:31 午後 org.apache.coyote.AbstractProtocol init
267
- 情報: Initializing ProtocolHandler ["ajp-nio-8009"]
268
- 8 30, 2019 8:22:31 午後 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
269
- 情報: Using a shared selector for servlet write/read
270
- 8 30, 2019 8:22:31 午後 org.apache.catalina.startup.Catalina load
271
- 情報: Initialization processed in 860 ms
272
- 8 30, 2019 8:22:31 午後 org.apache.catalina.core.StandardService startInternal
273
- 情報: サービス [Catalina] を起動します
274
- 8 30, 2019 8:22:31 午後 org.apache.catalina.core.StandardEngine startInternal
275
- 情報: Starting Servlet Engine: Apache Tomcat/8.5.43
276
- 8 30, 2019 8:22:33 午後 org.apache.jasper.servlet.TldScanner scanJars
277
- 情報: 少なくとも1つのJARが、まだTLDを含んでいないTLDについてスキャンされました。 スキャンしたが、そこにTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。 スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が改善されます。
278
- 8 30, 2019 8:22:33 午後 org.apache.jasper.servlet.TldScanner scanJars
279
- 情報: 少なくとも1つのJARが、まだTLDを含んでいないTLDについてスキャンされました。 スキャンしたが、そこにTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。 スキャン中に不要なJARをスキップすると、起動時間とJSPのコンパイル時間が改善されます。
280
- 8 30, 2019 8:22:33 午後 org.apache.coyote.AbstractProtocol start
281
- 情報: Starting ProtocolHandler ["http-nio-8080"]
282
- 8 30, 2019 8:22:33 午後 org.apache.coyote.AbstractProtocol start
283
- 情報: Starting ProtocolHandler ["ajp-nio-8009"]
284
- 8 30, 2019 8:22:33 午後 org.apache.catalina.startup.Catalina start
285
- 情報: Server startup in 1773 ms
286
-
287
- ```
209
+ 説明 The method received in the request-line is known by the origin server but not supported by the target resource

1

変更

2019/08/30 19:26

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -214,6 +214,16 @@
214
214
  </web-app>
215
215
  ```
216
216
  ```
217
+ HTTPステータス 405 - Method Not Allowed
218
+
219
+
220
+ Type ステータスレポート
221
+
222
+ メッセージ HTTPのGETメソッドは、このURLではサポートされていません。
223
+
224
+ 説明 The method received in the request-line is known by the origin server but not supported by the target resource
225
+
226
+
217
227
  //コンソール
218
228
  8 30, 2019 8:22:31 午後 org.apache.catalina.startup.VersionLoggerListener log
219
229
  情報: Server version: Apache Tomcat/8.5.43