Eclipse JUNO IDE와 tomcat 7.0을 사용하고 있습니다.디스패처가 서블릿에서 사용될 때 JSP 페이지를 새로 고치는 방법은 무엇입니까?
웹 응용 프로그램이 있습니다. 응용 프로그램에서 내가 가진 :
서블릿
JSP 페이지
HTML - 메인 페이지. 메인 페이지에서
참고 : 서블릿은 소켓으로 서버와 통신하므로 사용자가 일부 제출 버튼을 누르면 요청이 서블릿으로 리디렉션되고 서블릿은 서버에 요청 을 리디렉션하여 필요한 데이터를 가져옵니다. 서블릿이 데이터를 받았습니다 자 할 때, 그것은 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);
}
}
귀하의 회신에 감사드립니다. 그러나 이것은 제가 한 것과 매우 같습니다. 'MainPage.html'에서 GET 메소드를 사용하는 양식과 동작이 서블릿으로 리디렉션됩니다.이제 서블릿은 요청을 처리하여 필요한 JSP 페이지로 전달합니다. 사용자가 jsp 페이지를 새로 고칠 때 서블릿은 null을 갖습니다. – eliorsh
@eliorsh : 서블릿 코드를 보여줍니다. 요청 매개 변수와 간단한'request.getParameter (...)'를 사용하는 경우, 폼에서 왔는지 또는 URL에 수동으로 붙여 넣든 관계없이 매개 변수를 검색해야합니다. –
내 질문을 편집하고 서블릿 코드를 추가 한이 코드는 'doPost'메소드 입니다. – eliorsh