2010-11-24 6 views
1

struts2プロジェクトの作業を開始したばかりです。私はストラットでの行動の力を見てきました。 ちょうど少数のことを知りたいだけですユーザーが検索エンジンを通じてjspを要求したときにstruts2アクションが呼び出される

1.クライアントが検索エンジンでページを要求すると、サーバーはJSPをマップするアクションを通じてリクエストを指示しますか? 2.上記の質問に対する回答がない場合、ページのレンダリングに必要なアクションクラスのすべてのBeanプロパティをどのようにセットアップするのですか? 3.上記の問題に対するansが、すべてのインターセプタがアクションの周りに構築されるので、データ機密性を維持する方法がない場合

答えて

5

JSPページに一般公開されており、ユーザーが直接(たとえば、検索エンジンやブックマークから)アクセスした場合は、アクションは呼び出されません。

JSPをWEB-INFディレクトリ(/ WEB-INF/jspなど)の下に配置して、ユーザーが直接アクセスできないようにする必要があります。 Struts2(他の多くのMVCフレームワーク)では、JSPはビューレイヤのテンプレートに過ぎず、直接アクセスしないでください。

私はストラットわからないんだけど、春に、それはWEBでJSPを置くために練習を受け入れている:

これを強化Problem with moving JSPs under WEB-INF directoryでの回答の1への返信にはいくつかのコメントがあります。 -INFを実行し、ビューコードが保護されたJSPにアクセスします。これにより、JSPへの直接HTTPアクセスも防止され、より優れたアクセス制御が得られます。 - jkf

同様にStrutsも同様です。 WEB-INFフォルダにJSPを置くことをお勧めします。とにかく、私は私の答えを持っています。 - 職人

+0

しかし、もしjspsがweb-infに保管されているのであれば、なぜ本はweb-infの外に出ているのですか?(私はstruts2を見てきました。私たちはそれらにどのようにアクセスするのですか(http:// ip:port/proj-name/WEB_INF/xyz.jspやhttp:// ip:port/proj-name/xyz.jspのようなものです) – SonOfTheEARTh

+0

おそらく例を簡単に保つ。しかし、実際には行わないでください。 –

+1

JSPには直接アクセスしません。アクションにアクセスします。アクションは、適切な結果(例えば、 'return SUCCESS'や' return INPUT'など)に基づいてJSPに自動的にディスパッチします。 –

3

Strutsの仕組みは、着信要求のパスを読み込んで、それらを送信するには、アクションが実行され、jspに転送されます。したがって、アクションが呼び出されるかどうかは、クライアントがクリックしているURLに依存します。もしURLがstrutsのアクションにマップされている場合はアクションを呼び出します。そうでなければアクションは呼び出されません。

+0

どのように検索エンジンが私のJSPに誰かを誘導している場合は、私の行動を通してのみそうしていることを確認しますか? – SonOfTheEARTh

関連する問題