私の質問は、ゲートキーパー サーブレットを使用してページを他のサーブレットに転送している場合、2 番目のサーブレットにパラメーターを参照させるか、パラメーターが参照するための属性を作成させる方がよいでしょうか?
次の形式があるとします。
<form action=www.ermehgerdpuppies.com/Gatekeeper id = puppyForm>
<select name=puppyList>
<option value=cutePuppyServlet_12>CutePuppy
<option value=uglyPuppyServlet_14>UglyPuppy
</select></form>
Gatekeeper サーブレットに到達するこのフォームを送信します。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if (request.getParameterMap().containsKey("puppyList"))
{
String qString = request.getParameter("puppyList");
String[] qsArray = qString.split("_");
request.setAttribute("merPuppy", qsArray[1]);
RequestDispatcher rd = getServletContext().getRequestDispatcher(qsArray[0]);
rd.forward(request, response);
}
}
次に、cutePuppyServlet に移動します (この例では、cutePuppy に移動します)。
これで、私の cutePuppyServlet.java で、次の方法でデータを参照できます。
request.getParameter("puppyList");
また
request.getAttribute("merPuppy");
パラメータを使用すると、すべてが爆破されるのを防ぐために存在するかどうかを確認できます。私の質問は、保守性に優れているのはどれですか? パラメータの転送に固執する必要がありますか、それとも属性を作成する必要がありますか?