2016-06-11 20 views
0

私は書面によるインタビューでこれらの2つの質問に答えることができませんでした、誰もが私を助けることができますか?JSPインタビュー、サーブレットからJSPにデータを渡す方法は?

質問1)異なるユーザーが異なるデータを取得するように、サーブレットが永続データをJSPページに送信するとします。次の文のいずれが該当しますか?

--a)次の命令を使用できます。request.getSession()。setAttribute(E、F); JSPページは、scope = "page"およびid = "E"のjsp:useBeanアクションを使用して情報を読み取ります。

--b)次の命令を使用できます。request.getSession()。setAttribute(E、F); JSPページは、scope = "session"およびid = "E"のjsp:useBeanアクションを使用して情報を読み取ります。

私はb)は右の答えであると考えていたが、私は完全に「永続データは」いいものを理解している場合、私はよく分からないの..

QUESTION 2)、サーブレット、JSPページに豆を送信した場合、 JSPページ内で行われたBeanへの可能な変更は、今後Beanにアクセスする他のJSPページまたはサーブレットに常に表示されます。正しいか間違っているか?

私はそれが偽だと思うが、私はちょうどそれについての良い説明を得ることができない...事前にみんなで

感謝を!

答えて

0

質問1の場合: 命令:request.getSession()。setAttribute(E、F); これはセッションスコープです。その属性はセッションに設定されていますので、正解はB です。永続的なデータは、このデータがセッション中永続的であることを意味します。

2

質問1: Beanをセッション属性に格納する理由はありません。代わりに要求属性に格納する必要があります。ビューでは、jsp:useBeanを使用しないでください。それが17年前のことでした。代わりにJSP ELを使用する必要があります。しかしもちろん、ページスコープ内でBeanを見つけようとすると、セッションスコープに格納されているので動作しません。

質問2:まず、サーブレットから受信したBeanをJSPで変更しないでください。 JSPはコントローラから受け取ったモデルを表示するためのビューです。それを変更しないでください。 Beanを変更しても、Beanのスコープがどのようなものかによって異なります。 Beanがサーブレットによって作成され、リクエスト属性に格納されてJSPに渡された場合、そのBeanは他のコンポーネントからは表示されず、要求が処理されるとすぐにGCに適格になります。サーブレットによって複数のページに渡されるシングルトンの場合、すべてのページが同じシングルトンオブジェクトを取得し、変更がすべてのJSPに表示されます(同期が正しく使用されていると仮定します)。

正直言って、雇用主は自分のことを理解していないようで、1999年以来何も変わっていないかのようにツールを使用しています。

関連する問題