Mini MVC Tutorial: hands-on MVC(Head First Servlets and JSP)
form.html
1 <html><body>
2 <h1 align="center">Beer Selection Page</h1>
3 <form method="POST"
4 action="SelectBeer.do">
5 Select beer characteristics<p>
6 Color:
7 <select name="color" size="1">
8 <option value="light"> light </option>
9 <option value="amber"> amber </option>
10 <option value="brown"> brown </option>
11 <option value="dark"> dark </option>
12 </select>
13 <br><br>
14 <center>
15 <input type="submit" value="Submit">
16 </center>
17 </form></body></html>
2 <h1 align="center">Beer Selection Page</h1>
3 <form method="POST"
4 action="SelectBeer.do">
5 Select beer characteristics<p>
6 Color:
7 <select name="color" size="1">
8 <option value="light"> light </option>
9 <option value="amber"> amber </option>
10 <option value="brown"> brown </option>
11 <option value="dark"> dark </option>
12 </select>
13 <br><br>
14 <center>
15 <input type="submit" value="Submit">
16 </center>
17 </form></body></html>
result.jsp
1 <%@ page import="java.util.*" %>
2 <html>
3 <body>
4 <h1 align="center">Beer Recommendations JSP</h1>
5 <p>
6 <%
7 List styles = (List)request.getAttribute("styles");
8 Iterator it = styles.iterator();
9 while(it.hasNext()) {
10 out.print("<br>try: " + it.next());
11 }
12 %>
13 </body>
14 </html>
2 <html>
3 <body>
4 <h1 align="center">Beer Recommendations JSP</h1>
5 <p>
6 <%
7 List styles = (List)request.getAttribute("styles");
8 Iterator it = styles.iterator();
9 while(it.hasNext()) {
10 out.print("<br>try: " + it.next());
11 }
12 %>
13 </body>
14 </html>
BeerSelect
1 package com.example.web;
2
3 import com.example.model.*;
4 import javax.servlet.*;
5 import javax.servlet.http.*;
6 import java.io.*;
7 import java.util.Iterator;
8 import java.util.List;
9
10 public class BeerSelect extends HttpServlet
11 {
12 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
13 {
14 String c = request.getParameter("color");
15 BeerExpert be = new BeerExpert();
16 List result = be.GetBrands(c);
17
18 // response.setContentType("text/html");
19 // PrintWriter out = response.getWriter();
20 // out.println("Beer Selection Advice<br>");
21
22 // Iterator it = result.iterator();
23 // while(it.hasNext())
24 // {
25 // out.println("<br>try: " + it.next());
26 // }
27 request.setAttribute("styles", result);
28 RequestDispatcher view =
29 request.getRequestDispatcher("result.jsp");
30 view.forward(request, response);
31 }
32 }
2
3 import com.example.model.*;
4 import javax.servlet.*;
5 import javax.servlet.http.*;
6 import java.io.*;
7 import java.util.Iterator;
8 import java.util.List;
9
10 public class BeerSelect extends HttpServlet
11 {
12 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
13 {
14 String c = request.getParameter("color");
15 BeerExpert be = new BeerExpert();
16 List result = be.GetBrands(c);
17
18 // response.setContentType("text/html");
19 // PrintWriter out = response.getWriter();
20 // out.println("Beer Selection Advice<br>");
21
22 // Iterator it = result.iterator();
23 // while(it.hasNext())
24 // {
25 // out.println("<br>try: " + it.next());
26 // }
27 request.setAttribute("styles", result);
28 RequestDispatcher view =
29 request.getRequestDispatcher("result.jsp");
30 view.forward(request, response);
31 }
32 }
BeerExpert
1 package com.example.model;
2
3 import java.util.*;
4
5 public class BeerExpert
6 {
7 public List GetBrands(String color)
8 {
9 List brands = new ArrayList();
10 if(color.equals("amber"))
11 {
12 brands.add("Jack Amber");
13 brands.add("Red Moose");
14 }
15 else
16 {
17 brands.add("Jail Pale Ale");
18 brands.add("Gout Stout");
19 }
20 return brands;
21 }
22 }
2
3 import java.util.*;
4
5 public class BeerExpert
6 {
7 public List GetBrands(String color)
8 {
9 List brands = new ArrayList();
10 if(color.equals("amber"))
11 {
12 brands.add("Jack Amber");
13 brands.add("Red Moose");
14 }
15 else
16 {
17 brands.add("Jail Pale Ale");
18 brands.add("Gout Stout");
19 }
20 return brands;
21 }
22 }