2つのプロジェクト(Project1、Project2)があります。 Project1にはjspページ "index.jsp"があり、Project2にはサーブレット "HelloServlet"が含まれています。 jspページから "HelloServlet"を転送/インクルードしようとしています。以下のコード..JSPファイルでは、リクエストディスパッチャを使用して別のプロジェクトのサーブレットにアクセスする方法
index.jspを
<body>
<a href="/Project2/HelloServlet">Goto project2 servlet</a><!--This works Fine-->
<%
try{RequestDispatcher=null;
rd = request.getRequestDispatcher("../Project2/HelloServlet");//gives -> java.lang.NullPointerException
//rd = request.getRequestDispatcher("/Project2/HelloServlet");//gives -> The requested resource (/Project1/Project2/HelloServlet) is not available
//rd.forward(request,response);
rd.include(request,response);
}
catch(Exception e){out.println("Exception occured: "+e);}
%>
</body>
HelloServlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println("Hello from project 2 servlet");
}
アンカータグが正常に動作しますが、するRequestDispatcherは、nullポインタ例外を与えています。
しかしHelloServlet –
@SushilSharmaで利用可能な同じリクエストオブジェクトを取得することができない私をリダイレクト使用私はフォワードとリダイレクトが異なることを知っています。異なるアプリ間で転送することはできないので、適切であればリダイレクトを提案しました。しかし、サーブレット 'sendRedirect("/Project2/HelloServlet?param1 = a&param2 = b ")'によって処理されるリダイレクトされたURLにパラメータを渡すことができます –