EclipseJUNOIDEとtomcat7.0を使用しています。
Webアプリケーションがあります。私が持っているアプリケーションでは:
サーブレット
JSPページ
HTML-メインページ。
メインページには、送信ボタンがクリックされ、サーブレットが一致するjspページにリダイレクトされると、サーブレットにリダイレクトするフォームがあります(サーバーからデータを取得する必要があるため)。これで、jspページを更新すると、サーブレットはリクエストでNULLを取得します。だから私の質問は再提出する方法ですか?サーバーからの新しいデータを表示したいからです。
注:サーブレットはソケットを使用してサーバーと通信するため、ユーザーが送信ボタンを押すと、リクエストはサーブレットにリダイレクトされ、サーブレットはリクエストをサーバーにリダイレクトして必要なデータを取得します。これで、サーブレットがデータを受信すると、データがjspページに転送され、jspページにhtmlとして表示されます。
if (request.getParameter("submit").equals("Show Taxis at Driving"))
{
requests.add("driving");
to_server.writeObject(requests);
to_server.flush();
requests.removeAllElements();
try{
driving = (Vector)from_server.readObject();
request.setAttribute("driving", driving);
//request.getRequestDispatcher("/WEB-INF/driving_page.jsp").forward(request, response);
RequestDispatcher disp = getServletContext().getRequestDispatcher("/WEB-INF/driving_page.jsp");
disp.forward(request, response);
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
}
else if (request.getParameter("submit").equals("Add Passenger to Taxi"))
{
requests.add("taxis");
requests.add("passengers");
to_server.writeObject(requests);
to_server.flush();
requests.removeAllElements();
try {
taxis_waiting = (Vector)from_server.readObject();
passengers = (Vector)from_server.readObject();
request.setAttribute("taxis", taxis_waiting);
request.setAttribute("passengers", passengers);
request.getRequestDispatcher("/WEB-INF/add_passenger_to_taxi.jsp").forward(request, response);
} catch (ClassNotFoundException e) {
e.printStackTrace();
request.getRequestDispatcher("error_page.jsp").forward(request, response);
}
}