Примеры URL сервлетов в HTML тегах
Страница, возвращаемая сервлетом ShowCartServlet, имеет несколько ссылок, каждая из которых имеет ссылку на сервлет. Вот код, который показывает одну из этих ссылок:
public class ShowCartServlet extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... out.println(... + "<a href=\"" + response.encodeUrl("/servlet/cashier") + "\">Check Out</a> " + ...); ... } ... }
Этот код позволяет вывести HTML страницу со следующим кодом:
<a href="http://localhost:8080/servlet/cashier>Check Out</a>
Вы увидите эту ссылку, если просмотрите код страницы загруженный сервлетом showcart. Нажмите на ссылку. Сервлет cashier
вернет Вам страницу, которая содержит следующий пример.
Страница, сгруженная сервлетом cashier, открывает форму для имени пользователя и номера кредитной карты. Код, который выводит тег формы, выглядит вот так:
public class CashierServlet extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... out.println(... + "<form action=\"" + response.encodeUrl("/servlet/receipt") + "\" method=\"post\">" + ... "<td><input type=\"text\" name=\"cardname\"" + "value=\"Gwen Canigetit\" size=\"19\"></td>" + ... "<td><input type=\"submit\"" + "value=\"Submit Information\"></td>" + ... "</form>" + ...); out.close(); } ... }
Код генерирует HTML страницу с тегом:
<form action="http://localhost:8080/servlet/receipt" method="post">
Вы увидите эту ссылку, если просмотрите код страницы загруженный сервлетом cashier. Отправьте форму. Сервлет receipt
вернет Вам страницу, которая содержит следующий пример. Страница, загруженная сервлетом receipt, перегружает сама себя так, что если хотите посмотреть HTML код, делайте это быстро!.
Страница, возвращаемая сервлетом receipt, содержит мета тег, который использует URL сервлета в качестве значения атрибута http-equiv. Вообще говоря, тег перенаправляет на главную страницу магазина Duke's Bookstore
после того, как отблагодарит пользователя за помещенный заказ. Ниже приведен код для вывода данного тега:
public class ReceiptServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... out.println("<html>" + "<head><title> Receipt </title>" + "<meta http-equiv=\"refresh\" content=\"4; url=" + "http://" + request.getHeader("Host") + "/servlet/bookstore;\">" + "</head>" + ... } ... }
Этот код генерирует HTML страницу со следующим тегом:
<meta http-equiv="refresh" content="4; url=http://localhost:8080/servlet/bookstore;">