質問編集履歴
3
変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,11 +7,12 @@
|
|
7
7
|
MariaDB,HediSQLを使っています。構成は以下の通りとなっており、
|
8
8
|
必要なファイルはリンクを参照していただければ幸いです。
|
9
9
|

|
10
|
+
となっています。
|
10
11
|
|
11
|
-
|
12
|
+
|
12
|
-
|
13
|
+
DetailServlet.java, InputServlet.java,SearchServlet.java、は正常に実行されます。
|
13
14
|
|
14
|
-
|
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
質問の仕方の変更
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
|
-
|
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
|
-
|
9
|
+

|
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
|
-
|
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
|
-
|
23
|
+
一昨日までは、何か画面に表示されていたような気がします。間違っているのか、これで正常なのかわからないので、教えていただきたいのですがよろしくお願いします。
|
35
|
-
コンソールのエラーを見ていただけませんか。
|
36
24
|
|
37
25
|
```
|
38
|
-
//
|
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.
|
38
|
+
import todo.dao.TodoDAO;
|
51
|
-
import todo.dto.
|
39
|
+
import todo.dto.Todo;
|
52
40
|
|
53
41
|
/**
|
54
42
|
* 登録処理を行う。
|
55
43
|
*/
|
56
44
|
@WebServlet("/todo/register")
|
57
|
-
public class
|
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
|
-
|
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("/
|
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(
|
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
|
-
//
|
155
|
+
//InputServlet.java
|
168
|
-
|
156
|
+
package todo.web;
|
169
157
|
|
170
|
-
|
158
|
+
import java.io.IOException;
|
171
159
|
|
160
|
+
import javax.servlet.RequestDispatcher;
|
172
|
-
|
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
|
-
|
167
|
+
import todo.dto.Todo;
|
175
168
|
|
169
|
+
/**
|
170
|
+
* 新規登録の入力画面を表示する。
|
171
|
+
*/
|
176
|
-
|
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
|
-
|
180
|
+
protected void doGet(HttpServletRequest request,
|
181
|
+
HttpServletResponse response) throws ServletException, IOException {
|
179
182
|
|
180
|
-
|
183
|
+
// voの作成
|
184
|
+
Todo dto = new Todo();
|
181
185
|
|
182
|
-
|
186
|
+
// 新規登録であることを判別するためid=0としている。
|
187
|
+
dto.setId(0);
|
183
188
|
|
189
|
+
// タスク1件のvoをリクエスト属性へバインド
|
184
|
-
|
190
|
+
request.setAttribute("dto", dto);
|
185
191
|
|
192
|
+
// 詳細画面を表示する
|
193
|
+
RequestDispatcher rd = request.getRequestDispatcher("/detail.jsp");
|
186
|
-
|
194
|
+
rd.forward(request, response);
|
195
|
+
}
|
196
|
+
}
|
187
197
|
|
188
|
-
|
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
変更
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
|