- PR -

Applet-Servletの通信時のエラー

1
投稿者投稿内容
元締虎
会議室デビュー日: 2005/03/01
投稿数: 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)
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2005-03-01 01:15
元締虎さん、こんにちは。

Server returned HTTP response code: 500 for URL
ってありますから、サーバ側に(も)問題ありですね。

サーバでもログ残っていませんか?

クライアントの139行目は何をやってるかキチンと
説明できますか?

同様にサーブレットの113行目は?

直接の原因とは関係ないかも知れませんが、
この場合、せっかく DataOutputStream/DataInputStream
使っているのに、エンコーディングをめちゃくちゃに
してはいけないと思います。
1

スキルアップ/キャリアアップ(JOB@IT)