- - PR -
Applet-Servletの通信時のエラー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-01 00:30
+++++++開発環境+++++++++
+ + Eclipse3.0.1 + Lomboz + Tomcat5.0 + Apache2 + Windows2000 Professional + ++++++++++++++++++++++++ http://kamoland.com/comp/jipc1.html を参考にして、現在AppletからServletを呼び出す処理を作成していて Connectionがうまくいかないので、困ってます。 下記にエラーに関連するApplet、Servletのコードとエラーログを載せました。 ※Eclipseのデバッガーで追跡したところ、Appletのコードの行番号158で必ず例外エラーが発生して 164行にステップが移動しています。 また、上記と同じ開発環境の別のPCで下記と同一のソースを配置して実行すると、例外エラーが は発生しませんでした。開発環境の設定に問題があるのかなと思っていますが、どの点に問題が あるか分からないままです。 どなたか、ヒントや解決策等がありましたら、ご教授お願いします。この投稿内容だけでは 検討や判断がつかない場合はどうぞ、ご忠告お願いします。お願いします。 (Appletのソース一部) 119 URL url; 120 try { 121 url = new URL("http://localhost/ExLomboz/ShowDate"); 122 123 URLConnection ucon = url.openConnection(); 124 ucon.setDoOutput(true); 125 ucon.setDoInput(true); ・ ・ ・ 138 String req = jTextField.getText(); 139 req = new String(req.getBytes("SJIS"),"8859_1"); ・ ・ 154 DataOutputStream dos = new DataOutputStream(ucon.getOutputStream()); 155 dos.writeUTF(req); 156 dos.flush(); 157 dos.close(); 158 DataInputStream dis = new DataInputStream(ucon.getInputStream()); 159 String result = dis.readUTF(); 160 dis.close(); 161 jTextField.setText(result); 162 } catch (Exception e1) { 163 // TODO 自動生成された catch ブロック 164 e1.printStackTrace(); 165 } (Servletのソース一部) 24 public class ShowDateServlet extends HttpServlet { 25 26 27 public void service(ServletRequest request, ServletResponse response) 28 throws ServletException, IOException { 29 System.out.println("test"); ・ ・ ・ ・ 110 System.out.println("test2"); 111 DataInputStream din = new DataInputStream(request.getInputStream()); 112 String reply = din.readUTF(); 113 reply = new String(reply.getBytes("8859_1"),"SJIS"); ・ 115 reply = "返答:" + reply; 116 System.out.println("test3"); ・ 118 response.setContentType("application/octet-stream"); 119 DataOutputStream dos = new DataOutputStream(response.getOutputStream()); 120 dos.writeUTF(reply); 121 dos.flush(); 122 dos.close(); 123 } 124 } (実行後にコンソールに出力されるエラーログ) java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost/ExLomboz/ShowDate at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:800) at Sample1$1.actionPerformed(Sample1.java:158) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) at java.awt.Component.processMouseEvent(Component.java:5100) at java.awt.Component.processEvent(Component.java:4897) at java.awt.Container.processEvent(Container.java:1569) at java.awt.Component.dispatchEventImpl(Component.java:3615) at java.awt.Container.dispatchEventImpl(Container.java:1627) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) at java.awt.Container.dispatchEventImpl(Container.java:1613) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) |
|
投稿日時: 2005-03-01 01:15
元締虎さん、こんにちは。
Server returned HTTP response code: 500 for URL ってありますから、サーバ側に(も)問題ありですね。 サーバでもログ残っていませんか? クライアントの139行目は何をやってるかキチンと 説明できますか? 同様にサーブレットの113行目は? 直接の原因とは関係ないかも知れませんが、 この場合、せっかく DataOutputStream/DataInputStream 使っているのに、エンコーディングをめちゃくちゃに してはいけないと思います。 |
1