リッチクライアントでわからないことがあって困っています。

サーブレットからJNLPを生成してクライアントでJavaWebStartを起動しています。リッチクライアントが
ステートレスなのは重々承知しているのですが、なんとかリッチクライアントでもサーブレットのステートを継承する方法ってないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

クライアントアプリケーションからサーブレットへリクエストを送信する時に、JNLPを作成したユーザのセッションIDを一緒に渡してあげればよいのではないでしょうか?


セッションIDを渡す方法は、サーバのセッション管理方法によって以下のように異なります。

1.クッキーで管理
⇒ URLConnection#setRequestProperty()メソッドを使用して、サーバへリクエストする前に、サーバから受け取ったクッキーを設定する。
(この場合、クッキーは、JNLPのパラメタとして事前に受け取っておく必要があります。)

2.URL リライティングで管理

⇒JNLPのパラメタとして事前にセッションIDを受け取っておく。
URL#openConnection()で接続するサーバURLの後ろにセッションIDを付加する。

1.のやり方に関しては以下の書き込みが参考になるのではないかと思います。(Applet-Servlet間通信に関する書き込みですが、Web Startにより起動されたアプリケーションにもにも適用できるかと思います。)

また、注意しなければならないのはセッションタイムアウトへの対応です。
リッチクライアントアプリケーションの場合は、サーバとの通信間隔が長くなる傾向にありますので、利用ユーザがクライアントアプリケーション内だけにに閉じた作業を行っている間にセッションがタイムアウトになり、セッションが切れてしまうことがあります。以前、私自身がAppletを利用したアプリケーションを組んだ際には、一定間隔毎にダミーのメッセージをサーバへ送信し、セッションを保つようにしたことがあります。

参考URL:http://java-house.jp/ml/archive/j-h-b/029835.html
    • good
    • 0
この回答へのお礼

なるほど、よくわかりました!
現在利用しているのはApacheCommonsのHttpClientなので、そのままつかえるわけではないですが、解決の糸口ができました。ありがとうございます。

お礼日時:2005/04/20 18:47

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q福岡市近郊のアジア映画が豊富なレンタルビデオ屋

アジア映画にハマッています。
特に香港映画が好きで、香港映画のタイトルが豊富なレンタルショップを探しています。
福岡市近郊(福岡県内でも結構です)に心当たりのある方がいらっしゃれば教えて下さい。
また、以前あった≪シネシティ香港 天神店≫はなくなってしまったようですね。
そのような香港映画関連のショップをご存知であればその情報も教えて下さい。
よろしくお願いします。

Aベストアンサー

ども,daredevilと言います。

最近↓のような【オンラインDVDレンタル】サービスがあり便利です。月額\2,000-程度(年会費\1,000-程度)支払えば全て郵送(切手代不要)で月に何回でも借り放題のDVDレンタルで,山間部などレンタルビデオ店が近隣にない顧客層や時間の忙しいビジネスマンなどに非常にうけています。agehachanさんも↓のいずれかで借りてはどうでしょう?メリットは以下の通り。

・ Web上で入会手続きから、レンタルするDVDタイトルの指定まで完結
・ DVDの発送/返却は郵送で行なうため、全国どこでもサービスが受けられる
・ 月額料金は定額制で、DVDが見放題
・ 返却期限がないので、延滞料金がかからない
・ ただし同時貸出枚数に制限(通常2枚)があり、返却しないと次が借りられない
・ 見たいタイトルをWeb上で“ウィッシュリスト”として登録しておくと、上位のタイトルから順に在庫のあるものを自動的に発送してくれる
・ 返却は、同封されてきた封筒に入れて投函するだけ。切手も不要
・ 返却が確認されると、ウィッシュリストにしたがって次の2枚が送られてくる
・ 以下、繰り返し

「DISCAS」
http://www.discas.net/d/d/index.html

「ぽすれん」
http://posren.com/

「DVDZOO」
http://www.dvdzoo.jp/

「GEOLAND」
http://www.geoland.jp/

参考にして下さい。

ども,daredevilと言います。

最近↓のような【オンラインDVDレンタル】サービスがあり便利です。月額\2,000-程度(年会費\1,000-程度)支払えば全て郵送(切手代不要)で月に何回でも借り放題のDVDレンタルで,山間部などレンタルビデオ店が近隣にない顧客層や時間の忙しいビジネスマンなどに非常にうけています。agehachanさんも↓のいずれかで借りてはどうでしょう?メリットは以下の通り。

・ Web上で入会手続きから、レンタルするDVDタイトルの指定まで完結
・ DVDの発送/返却は郵送で行なうため、全国どこ...続きを読む

Qサーブレット-サーブレットの通信で文字列を送りたいのですが

サーブレット間の通信で文字列(String)を送りたいのですが
うまく受け取れません。
URLEncoder.encodeをつかって変換して送り、
URLDecoder.decodeで受けとってます。お願いします。

Aベストアンサー

具体的に、どうなってしまうのかが分からないと、答え様がないですね。

(1)最初の文字列
(2)URLEncoder.encodeの結果
(3)URLDecoder.decodeの結果
が提示されていると、有力なヒントになるはず。差し支えなければご提示を。

Q福岡市で耕運機をレンタルできる場所を知りませんか?

福岡市内で耕運機をレンタルできる場所を知りませんか?

引越し、庭が広いのは嬉しいのですが雑草が生えています。耕運機を使って引っこ抜きたいですが

市内でレンタルできる所をご存知の方はいらっしゃいませんでしょうか?

Aベストアンサー

株式会社 JAファーム福岡にあります

http://jafarm-fukuoka.co.jp/nouki/

Qサーブレットでスレッドを生成

チャットのようなプログラムで、
(1)クライアントがアプレットをダウンロード
(2)アプレットが下(リンク)のようなプログラムにアクセスする

とゆうような場合、スレッドが必要になるだろうとテスト用のプログラムを作ったのですが何か間違いがあれば教えてください。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27474&forum=11&0
ちなみに
while(i==0)
if(i==1)
を取れば動くと確認していますが。

Aベストアンサー

>間違いがあれば教えてください
何に対しての間違いを教えて欲しいのでしょうか?

>スレッドが必要になるだろう
定期的な処理ならば自分でスレッドを作るよりかはTimer等を使った方が賢明でしょう。

Q『はやかけん』の発行元は福岡市交通局ですか?

『はやかけん』の発行元は福岡市交通局ですか?

福岡市地下鉄で使える『はやかけん』の発行元はどこですか?
福岡市交通局なのでしょうか?
それとも民間の会社なのでしょうか?

札幌市営地下鉄で使用できる『SAPICA』の発行元は、
札幌市交通局ではなく札幌総合情報センター株式会社です。

『はやかけん』は今年3月から電子マネー機能も付加され、
JR各社などが発行するIC乗車券との相互利用も始まります。

もしこの『はやかけん』が
民間の会社によって発行されているものではなく、
福岡市交通局によって発行されていだとすれば、
これは全国初の公的機関が発行する
FeliCa式電子マネーとなるのでしょうか?

Aベストアンサー

福岡市が発行しています.

しかし鹿児島市交通局のRapicaや
伊丹市交通局のItappyのほうが早いみたいです.

Q生成されたサーブレットのエラーの件(jsp)

javaの超初心者です。
人が書いたソースをまねて書いたのですがエラーが出てしまいます。
げんいんを教えてください。

============================================================================================jspファイル
<%@page import="java.util.*" contentType="text/html; charset=Shift_JIS"%>
<%
HELLO_ANKERT_TOP_DAO dao = new HELLO_ANKERT_TOP_DAO();
LinkedList<HELLO_ANKERT_TOP_BEEN> list = dao.selectAll();
%>
</table></body></html>
============================================================================================been.javaファイル
import java.io.Serializable;
public class HELLO_ANKERT_TOP_BEEN implements Serializable {
private int INT_TOTAL_CNT;
// デフォルトコンストラクタ
public HELLO_ANKERT_TOP_BEEN() {}
public HELLO_ANKERT_TOP_BEEN(
int INT_TOTAL_CNT,
) {
this.INT_TOTAL_CNT = INT_TOTAL_CNT;
}
public int getINT_TOTAL_CNT(){
return INT_TOTAL_CNT;
}
public void setINT_TOTAL_CNT(int INT_TOTAL_CNT){
this.INT_TOTAL_CNT = INT_TOTAL_CNT;
}

}
============================================================================================dao.javaファイル
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
import java.util.*;
public class HELLO_ANKERT_TOP_DAO{
private String dataSourceName;
public HELLO_ANKERT_TOP_DAO(String dsName) {
dataSourceName = dsName;
}
public HELLO_ANKERT_TOP_DAO() {
dataSourceName = "jdbc/demizu_Ankert";
}
private Connection getConnection() {
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/" + dataSourceName);
Connection con = ds.getConnection();
return con;
}
catch(Exception e) {
e.printStackTrace();
}
return null;
}
private void closeConnection(Connection con) {
try {
con.close();
}
catch(Exception e) {
// 何もしない
}
}
// 全件検索用メソッド
public LinkedList<HELLO_ANKERT_TOP_BEEN> sele

javaの超初心者です。
人が書いたソースをまねて書いたのですがエラーが出てしまいます。
げんいんを教えてください。

============================================================================================jspファイル
<%@page import="java.util.*" contentType="text/html; charset=Shift_JIS"%>
<%
HELLO_ANKERT_TOP_DAO dao = new HELLO_ANKERT_TOP_DAO();
LinkedList<HELLO_ANKERT_TOP_BEEN> list = dao.selectAll();
%>
</table></body></html>
=====================================...続きを読む

Aベストアンサー

J2SE1.4からデフォルトパッケージのインポートは出来なくなりました。
http://docs.sun.com/app/docs/doc/816-3973/6ma7ftaqg?l=ja&a=view

>.javaでクラスファイルを作ったときは、classesフォルダ直下でも認識されたのですが?
これは、使用する・されるクラスが共にデフォルトパッケージにあるのではないでしょうか。
同一パッケージ内ならばインポートする必要はありませんから。
jspはコンパイルされるとき、自動でパッケージングされるはずなので
デフォルトパッケージ内のクラスは認識されないということです。

Q福岡市で禁煙外来の病院を探しています。

福岡市で禁煙外来の病院を探しています。

福岡市東区在住です。
禁煙外来でお勧めの病院ご存知でしたら、教えていただきたいのですが・・・。
よろしくお願いします。
福岡市・古賀市・糟屋郡の地域で探しています。

Aベストアンサー

日本禁煙学会HP内の
【禁煙治療に保険が使える医療機関情報最新版】です。
福岡県をクリック願います。
http://www.nosmoke55.jp/nicotine/clinic.html

参考URL:http://www.nosmoke55.jp/nicotine/clinic.html

QサーブレットとJSP

まだJAVAを始めたばかりなのですが急にサーブレットを
やることになりました。
昨日慌てて本を買ったのですが・・・全然わからなくて。
基本中の基本として恥ずかしいのですが。
サーブレットとJSPの違いはどういうふうに違うのですか?
教えていただければ嬉しいです。
あと初心者にオススメの書籍などありましたら教えていただければと思ってます。

Aベストアンサー

サーブレットは Java で書く CGI だと思っていれば良いです。ただ、呼出され
方が決っており、CGI よりもちょっと良いことが幾つかあります。

JSP は、Microsoft の ASP や PHP に近く、html で記述されているページに
Java のコードが書けるようなものだ、と考えて下さい。

JavaScript と似たような感じですが、

・JavaScript は、Java と似たような文法なだけで Java ではない、のに対し
 JSP は、本物の Java である

・JavaScript は、ブラウザの中で動作する、の対し JSP は、サーバ側で
 動作する

のが大きく違います。

サーブレットと JSP は、サーバ側で動作する Java で記述された仕組みである
ということだけが似ていて、ソースを見た感じは全然違います。


ここで書くと混乱するかもしれませんが、JSP が実際動作するときには、
自動的にコンパイルされ、サーブレットとして動作します。なので、できること
(例えば、セッションを持っている、とか)は、とても似ていたりします。

サーブレットは Java で書く CGI だと思っていれば良いです。ただ、呼出され
方が決っており、CGI よりもちょっと良いことが幾つかあります。

JSP は、Microsoft の ASP や PHP に近く、html で記述されているページに
Java のコードが書けるようなものだ、と考えて下さい。

JavaScript と似たような感じですが、

・JavaScript は、Java と似たような文法なだけで Java ではない、のに対し
 JSP は、本物の Java である

・JavaScript は、ブラウザの中で動作する、の対し JSP は、サーバ側で
 ...続きを読む

Q福岡市 安いバイク屋

福岡市 安いバイク屋

福岡市で安いバイク屋を探しています。車種などはまだ決まっていませんがチョイノリんなどの原付スクーターを探しています。

Aベストアンサー

安いバイク屋と一概に言える店はそうそうないと思いますよ。
車種や車体の状態によって、同じバイクでも値段は違いますので、安いバイク屋というより
欲しい車種や値段を決めて探す方が効率的です。

それにあまりに安い価格を付けてるバイク屋は逆に怪しいですし。
ある程度市場価格というものがありますから、極端に安い表示をしている所は
盗難車であったりするケースもありますので。(実際にそんな店もあったそーで)

また、車体の状態も良くなければ、購入した時の価格は安くすんでも
直ぐに修理しなければならない状態となり、結局高くつくというのはよくある話です。
2万円のスクーターを現状渡しで買ったら、暫くしてクランクが折れて交換、5万円の出費とか。

バイクはたとえ原付であれ、公道をそれなりのスピードで走るものですから
整備状況など状態のよいものを購入する方が、返って安上がりであり、また安全だったりしますよ。


ちなみに個人的にはチョイノリはお勧めしませんけどね。

QJSPとサーブレット

JAVAを勉強している初心者です。
JSPとサーブレットの違いはなんなのでしょうか?もし違いが
あるとしたら、JSPとサーブレットのそれぞれの長所と短所を
教えていただけるとありがたいです。

Aベストアンサー

簡単に説明します。
■サーブレット > サーバーサイドで動くJava。主にブラウザでそのアクセスし、リクエスト結果をHTMLで表示することができるもの。
■JSP > サーブレットによるHTML表示を簡単に表示できるようにしたもの。Javaの記述よりもHTML記述にJavaを埋め込む、といったイメージ。内部では一回目のアクセスでコンパイルされ、サーブレットに変換している。

長所と短所というよりも、役割により使い分けされていると考えたほうがいいかもしれません。
現在のWebプログラミングではMVCモデルと言われる考え方が一般的です。
M・・・モデルと言われる。ビジネスロジック(固有の処理)を定義する部分。
V・・・ビューと言われる。画面(HTML)そのものを指す。
C・・・コントロールと言われる。ユーザーからのリクエストを受け取り、それにより上記MとVの関係を(処理を行い、画面を表示する)コントロールする。

そしてJSPはV、サーブレットはCを担うことになります。
■リクエストを受け取る → リクエスト内容により処理をおこなう。(M)→ 処理結果をJSPにて表示する。(V)
上記の一連の流れをサーブレットがコントロール(C)し、JSPは最後の画面表示の部分を行うことになります。

JSPは基本はHTMLで作成されるのでデザイナーとJavaプログラマーとの分業が可能になります(完全に分業がなされるわけではないですが)。
通常、サーブレットで画面表示を行うようにすると、画面デザインの確認が面倒になります。しかし、JSPでは簡単に行えます。
また、分けることによってサーブレットへのコーディング量が減り、ソースも見やすく、また、問題が発生したときどこに問題があるかというデバッグにも役立つことになります。

簡単に説明します。
■サーブレット > サーバーサイドで動くJava。主にブラウザでそのアクセスし、リクエスト結果をHTMLで表示することができるもの。
■JSP > サーブレットによるHTML表示を簡単に表示できるようにしたもの。Javaの記述よりもHTML記述にJavaを埋め込む、といったイメージ。内部では一回目のアクセスでコンパイルされ、サーブレットに変換している。

長所と短所というよりも、役割により使い分けされていると考えたほうがいいかもしれません。
現在のWebプログラミングではMVCモデルと言われる...続きを読む


人気Q&Aランキング