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

質問編集履歴

2

エラー、コードを追記しました

2016/06/20 13:58

投稿

terashamo
terashamo

スコア20

title CHANGED
File without changes
body CHANGED
@@ -14,7 +14,7 @@
14
14
  上記の1行目のpathの中身は
15
15
  /Volumes/USBROBO/ファイル/画像/001.jpgで、
16
16
  http://localhost:8080/Volumes/USBROBO/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/%E7%94%BB%E5%83%8F/001.jpg 404 (Not Found)
17
- というエラーが出ています。
17
+ というエラーが出ています。(検証のコンソールにて)
18
18
  日本語混じりorローカルを見ているから表示されないのかと思い
19
19
  001.jpgをWebContent/imgに移動させ、ひとまず画像表示だけしてみようと
20
20
  上記の2,3行目の方法で表示を試みたのですが、ダメでした。
@@ -24,4 +24,107 @@
24
24
  Java(Servlet/jsp)です。
25
25
 
26
26
  ものすごく初歩的なことで申し訳ないのですが・・・
27
- よろしくお願いいたします。
27
+ よろしくお願いいたします。
28
+
29
+ ここから追記です。
30
+ エラーが出ていました...
31
+
32
+ ```
33
+ java.lang.ClassNotFoundException: jp.co.files.command.null
34
+ at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
35
+ at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
36
+ at java.lang.Class.forName0(Native Method)
37
+ at java.lang.Class.forName(Class.java:264)
38
+ at jp.co.files.servlet.Controller.doPost(Controller.java:64)
39
+ at jp.co.files.servlet.Controller.doGet(Controller.java:40)
40
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
41
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
42
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
43
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
44
+ at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
45
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
46
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
47
+ at jp.co.files.filter.EncodeingFilter.doFilter(EncodeingFilter.java:25)
48
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
49
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
50
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
51
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
52
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
53
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
54
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
55
+ at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
56
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
57
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
58
+ at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
59
+ at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
60
+ at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
61
+ at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
62
+ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
63
+ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
64
+ at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
65
+ at java.lang.Thread.run(Thread.java:745)
66
+ ```
67
+
68
+ 書籍に載っていたコマンドパターン?を真似して作成しているのですが、それが悪さしているのでしょうか...?
69
+
70
+ ```
71
+ @WebServlet({ "/" })
72
+ public class Controller extends HttpServlet {
73
+ private static final long serialVersionUID = 1L;
74
+
75
+ private HashMap<String, String> commands;
76
+
77
+ private String CommandsTable[][] = {
78
+
79
+ { "top", "Top" }, { "menu", "Menu" }, { "process", "Process" }, { "lib", "Lib" }
80
+
81
+ };
82
+
83
+ public void init() throws ServletException {
84
+
85
+ commands = new HashMap<String, String>();
86
+
87
+ for (int i = 0; i < CommandsTable.length; i++) {
88
+ commands.put(CommandsTable[i][0], CommandsTable[i][1]);
89
+ }
90
+ }
91
+
92
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
93
+ throws ServletException, IOException {
94
+ doPost(request, response);
95
+ }
96
+
97
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
98
+ throws ServletException, IOException {
99
+
100
+ String action = request.getRequestURI().split("/")[request.getRequestURI().split("/").length - 2];
101
+
102
+ String methodName = request.getRequestURI().split("/")[request.getRequestURI().split("/").length - 1];
103
+
104
+ if (methodName.equals("booker")) {
105
+
106
+ action = "top";
107
+
108
+ }
109
+ String className = commands.get(action);
110
+
111
+ Command command;
112
+
113
+ String url;
114
+
115
+ try {
116
+
117
+ command = (Command) (Class.forName("jp.co.files.command." + className).newInstance());
118
+
119
+ url = command.execute(request, methodName);
120
+
121
+ request.getRequestDispatcher(url).forward(request, response);
122
+
123
+ } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
124
+ e.printStackTrace();
125
+ }
126
+
127
+ }
128
+
129
+ }
130
+ ```

1

エラーを追記しました

2016/06/20 13:58

投稿

terashamo
terashamo

スコア20

title CHANGED
File without changes
body CHANGED
@@ -12,11 +12,13 @@
12
12
 
13
13
  ###試したこと
14
14
  上記の1行目のpathの中身は
15
- /Volumes/USBROBO/ファイル/画像/001.jpg
15
+ /Volumes/USBROBO/ファイル/画像/001.jpgで、
16
+ http://localhost:8080/Volumes/USBROBO/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/%E7%94%BB%E5%83%8F/001.jpg 404 (Not Found)
17
+ というエラーが出ています。
16
- で、日本語混じりorローカルを見ているから表示されないのかと思い
18
+ 日本語混じりorローカルを見ているから表示されないのかと思い
17
19
  001.jpgをWebContent/imgに移動させ、ひとまず画像表示だけしてみようと
18
20
  上記の2,3行目の方法で表示を試みたのですが、ダメでした。
19
-
21
+ (こちらはエラーは出ていません)
20
22
  ###補足情報(言語/FW/ツール等のバージョンなど)
21
23
  eclipseで開発しています。
22
24
  Java(Servlet/jsp)です。