はじめまして。
JAVA&サーブレット初心者です。
現在、サーブレット、JSPを使ったWEBアプリケーションの開発をしてお
ります。
左右二つに分かれたフレームを持つWEBアプリケーションを作っています。
大まかな流れとしては以下の通りです。
 (1)左側のフレーム(仮にleft.jspとします)からサーブレット
 (仮にservlet1とします)を呼び出す。
 (2)右側フレームに(1)の処理結果のJSP(right1.jsp)を呼び出す
 (3)right1.jspでサーブレット(servlet2)を呼び出す。
 (4)右側フレームに(3)の処理結果のJSP(right2.jsp)を呼び出す。
 (5)right2.jspでサーブレット(servlet3)を呼び出す。
 (6)右側フレームに(5)の処理結果のJSP(right3.jsp)を呼び出す。
  上記のように左側フレームが固定で右側フレームのJSPがサーブ
 レット処理によって切り替わるようなWEBアプリケーションを開発し
 ています。
 
 問題なのは、今回開発しているシステムの要件により、(5)で呼び出され
るサーブレット(servlet3)内の処理で左側のフレーム(left.jsp)の入力
パラメータが必要だということです。

 servlet1でleft.jspの入力パラメータをセッションオブジェクトに保管
し、servlet3でセッションオブジェクトから復元すれば実現は可能かと思
いました。
 しかし、途中servlet2からの処理が大変重いものであり、セッションオ
ブジェクトは一定時間がたつと無効になってしまうと聞いたのでタイトル
のような方法を考えたのですが、見当がつかず、今回の質問に至りました。

 request.getParameter("****");

ではもちろん取り出せないと思いますが、サーブレットで別フレームのパ
ラメータを取り出すことは可能でしょうか?

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

A 回答 (1件)

まず、セッションオブジェクトの保持期間はサーバーの設定により変更可能になります。

Webサーバーと、WebApplicationServerの設定とあるので注意してください。
セッションオブジェクトで事が済むならそれでよいのですが、それでも駄目なら。。

左フレームから、右フレームに値を持ってくるのには、JavaScriptを使用してはいかがですか?

<FRAMESET cols="68%,*">
<FRAME src="left.html" name="left">
<FRAME src="right.html" name="right">
</FRAMESET>

parent.left.document.forms[FormName].elements[element].value="";
    • good
    • 0

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

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

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

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

Aベストアンサー

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

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

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 は、サーバ側で
 ...続きを読む

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モデルと言われる...続きを読む

Qjspとサーブレット

jspはサーブレットに比べるとソースファイルを生成しなければならない分、処理速度が遅くなると書かれてたのですが、ソースファイルを生成とはどういうことなのかわかりません。htmlに埋め込まれたJAVAを取り出すということでしょうか?
またサーブレットもJSPもクライアントから要求がきてからプログラムをコンパイルしてるのでしょうか?すなわちコンパイルされてないままWEBサーバに保管されてるのですか?
2点よろしくお願いします。

Aベストアンサー

こんにちは。

tomcatの場合、workディレクトリの中を見ていくと、
XXX_jsp.javaというファイルが出来ており、それを生成されたソースファイル
と言っているのかなと思います。
開いてみるとわかりますが、全てJavaのコードに書き換えられています。
それをコンパイルして.classファイルが同じディレクトリに出来ます。

サーブレットはコンパイルしたものが最初から配置されていますが、
JSPに関しては初回リクエスト時にコンパイルを実行します。
jspをコンパイルしたものが無い場合にコンパイルをかけるので
最初は遅く感じますが、一度用意されてしまえばそんなに遅くは無いと思います。

Qjava JSP/サーブレット

Javaの参考書をやったのですが(参考書:やさ○いJava)、これはアプレットと聞きました。アプレットは現場では殆ど使われないと聞き、JSP/サーブレットは現場で使うと聞いたのでJSP/サーブレットをやっています。
でも、構文が少し違います。
***********************************
例えば、Javaなら表示するときには
System.out.printlnでしたが、
JSP/サーブレットでは違う構文です。
また、Javaならファイルが一つしかありませんでした。(コンパイルするとclassファイルができる)
JSP/サーブレットは、スーパークラスやサブクラスは
別のファイルになっています。
************************************
JSP/サーブレットはプログラム言語なんですか?
JSP/サーブレットの中にもJavaの構文があるんですが、先にも述べたようにJavaと違う構文も含まれています。
ちょっと戸惑っています。
しかも、JSP/サーブレットに関する参考書が本屋さんで殆ど見られないのです。
お勧めの参考書などあればいいのですが、
数が少ないためか見当たりません。
それで、とりあえづ「10日で覚○るJSP/サーブレット」という本を買ったのですが、9割がたJSPです。
1割がサーブレットです。
こうなってくると意味がわからなくなってきます。
現場ではサーブレットと聞いていたのに、そのサーブレットが1割しか載っていない。え!?どういうこと!?更にはJSPとサーブレットの書き方も少し違うような気が・・・・。
もう何が何かさっぱりわからなくなってきました。
結局何を勉強すれば良いのか?
そもそも、JSPとは?サーブレットとは?
ネットで調べはしたもののピンときません。
現場でJavaをやりたいのですが、独学方法というか、
アドバイスを宜しくお願いします。

Javaの参考書をやったのですが(参考書:やさ○いJava)、これはアプレットと聞きました。アプレットは現場では殆ど使われないと聞き、JSP/サーブレットは現場で使うと聞いたのでJSP/サーブレットをやっています。
でも、構文が少し違います。
***********************************
例えば、Javaなら表示するときには
System.out.printlnでしたが、
JSP/サーブレットでは違う構文です。
また、Javaならファイルが一つしかありませんでした。(コンパイルするとclassファイルができる)
JSP/サーブレットは、ス...続きを読む

Aベストアンサー

今、現場でJAVAをやっています。
前の方々も書いていらっしゃいますが、まずはJAVAを勉強してからJSP&サーブレットを勉強した方がいいです。
あと、JSPを単独で使用することもありますが、大体がフレームワークを使っています。各社の独自のフレームワークを構築しているところもありますが、(大手だとほとんどそう)StrutsベースかStrutsを使用してのプログラミングです。JSPをやるのであればStrutsは覚えておくと武器にはなりますね。大体JAVAが出来る人はほとんどJSP等はわかりますので。

また、最近はJAVAのアプリの開発は少ないという声を結構聞きますが、仕事があるところはありますね。
逆にWevばかりやってきて、Swingやawtが出来ないJAVAの技術者の方とか結構いらっしゃってます。JAVAを極めるのであれば、Swingやawtもしっかり覚えていた方がいいと思います。


人気Q&Aランキング

おすすめ情報