お世話になります。
先日、Appletでの外部ファイルを常に同期させる方法をお尋ねしたものです。
それにより、Servletを併用し試行錯誤していたのですが、どうしても行き詰まり再度質問させて頂きました。
Applet内にあるスレッドから常にServletを呼び出し、
Servlet側では呼び出される度にサーバ上にある外部ファイルを読み込み、
その内容をAppletへ送信してAppletではその受け取ったデータを表示する
というプログラムを組んでみたのですが、
外部ファイルの中身は表示はされず、コンソールにはIllegalStateExceptionが表示されます。
エラー内容を検索したりもしてみたんですが、うまく理解出来ませんでした。
以下にソースを載せておきますので、もしよろしければご教授お願いします。
※Servlet側
package com.test;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
DataOutputStream dos;
String test=null;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String checkFile="test.log";
String fn=getServletContext().getRealPath(checkFile);
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out=response.getWriter();
out.println("<html><head></head><body>");
out.println("<applet codebase=\"http://localhost:8080/Test\" code=\"TestApplet.class\" height=\"600\" width=\"800\">");
out.println("</applet>");
out.println("</body></html>");
out.close();
BufferedReader inn = new BufferedReader(new FileReader(fn));
//アプレットへの送信
response.setContentType("application/octet-stream");
dos=new DataOutputStream(response.getOutputStream());
String outPut=inn.readLine();
dos.writeUTF(outPut);
dos.flush();
dos.close();
}
}
※Applet側
import java.applet.Applet;
import java.awt.*;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
public class TestApplet extends Applet implements Runnable{
String inPut;
Label l1;
public void init() {
setSize(200, 100);
setLayout(new FlowLayout());
l1 = new Label("Wait");
add(l1);
Thread wait;
wait = new Thread(this);
wait.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
while(true){
try{
//サーブレットへの通信
URL url=new URL(getDocumentBase(),"./Test");
URLConnection conn = url.openConnection();
//play.logの状態取得
DataInputStream in = new DataInputStream(conn.getInputStream());
l1.setText(in.readUTF());
} catch(Exception e) {
}
Thread.sleep(1000);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java final 1 2022/06/10 22:49
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ColabでのPytorchのエラー
-
eclipseに記述したjavaファイル...
-
文字列を数式に
-
importするには java.io.*; imp...
-
Javaで常駐するソフトを作って...
-
「例外 *** は対応する try 文...
-
setAttribute(String, int)は適...
-
nextDoubleが使えない?
-
drawImageの描画速度について
-
python OpenPyXLを使って出力結...
-
【JAVAエラー】互換性のない型...
-
【java】検索フォームの検索結...
-
JavaでSSL通信について(JDK131)
-
<forEach> 内で供給された "ite...
-
テキストファイルの中身をApple...
-
アプレットビューアで文字が表...
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
<forEach> 内で供給された "ite...
-
「例外 *** は対応する try 文...
-
importするには java.io.*; imp...
-
Javaを使ってデジタル時計を作...
-
setAttribute(String, int)は適...
-
シャットダウンフックが呼ばれない
-
干支の計算で。。。
-
Selenium IDEでexportしたコー...
-
ColabでのPytorchのエラー
-
【JAVAエラー】互換性のない型...
-
文字列を数式に
-
importとextendsの用い方の違い...
-
Java3Dで横置き円筒体の円筒中...
-
HttpClientについて
-
ActionForm form にnullが入っ...
-
java初心者です。座標取得と図...
-
javaで画像を回転縮小
-
(急募)Javaじゃんけんゲームで
-
画面遷移時のデータ遷移について
おすすめ情報