2017-12-04 22 views
-1

私はNetbeansでプロジェクトを持っています。 「ソースパッケージ」にはサーブレットmyServlet.javaがあります。しかし、それはフォルダの中にあります。そのcom.login.controller。 「Webページ」には、2つのJSP、login.jsphome.jspがあります。 login.jspはhome.jspをが"jsp/home/home.jsp".また、フォルダ内のサーブレットからJSPを呼び出す方法

である一方、今、私の質問は、getRequestDispatcherを使用した場合、サーブレットからJSPページを起動する最良の方法は何かあるフォルダ"jsp/login/login.jsp"の内側にありますか?ログインボタンをクリックしたときのlogin.jspでは、myServlet.javaが呼び出され、入力が有効な場合に処理されます。その後、getRequestDispatcherを使用してhome.jspに誘導されます。パスとしてそのパラメータに何を入力する必要がありますか?私が思ったことはFFです:

getRequestDispatcher("home.jsp"); 
getRequestDispatcher("jsp/home/home.jsp"); 
getRequestDispatcher("../../../jsp/home/home.jsp"); //Getting back of 

ディレクトリ3X私は私のサーブレットが3つのフォルダ内の理由だということであると思ったので。

しかし、これらの3つはすべて機能しませんでした。私は何をすべきか?知りません。私を助けてください。前もって感謝します。

+0

私はあなたが 'getRequestDispatcher( "home/home.jsp")'を使用する必要があります、これは動作している必要があります。 – Sunil

答えて

1

コンテキストパスを使用すると、ルートパスが得られます。あなたは、home.jspをアクセス同様

getRequestDispatcher(request.getContextPath()+"/jsp/home/home.jsp"); 

すなわちウェブコンテンツフォルダから移動したい場合は、サーブレットにリクエストを送信する場合

request.getContextPath() 

ので、あなたが使用することができます

getRequestDispatcher(request.getContextPath()+"/myServlet.java"); 
関連する問題