Implement an application as following:
Depends of the question, GateKeeper will forward request to corresponding Answers.
1. Tạo trang HTML:
Chúng ta tạo 1 trang index.HTML đơn giản như sau:
2. Tạo Servlet GateKeeper
Tạo 1 List số để so sánh với input của người dùng:
private List<String> answerCodes = null;
@Override
public void init() throws ServletException {
answerCodes = new LinkedList<>();
answerCodes.add("1");
answerCodes.add("2");
answerCodes.add("3");
}
Xử lý hàm processRequest của Servlet này như sau:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet GateKeeper</title>");
out.println("</head>");
out.println("<body>");
String question = request.getParameter("question");
List<String> collect = answerCodes.stream().filter(s -> question.contains(s)).collect(Collectors.toList());
if(collect!= null){
RequestDispatcher rd = request.getRequestDispatcher("Answer" +collect.get(0));
rd.forward(request, response);
}
out.println("<h1>No corresponding answer " + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
Không có nhận xét nào:
Đăng nhận xét