import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1; public TestServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int count = parseArguments(request); String resp = buildResponse(count); response.setContentType("text/html"); response.getWriter().print( resp ); } protected int parseArguments(HttpServletRequest request) { int count = 10; String countStr = request.getParameter("count"); if (countStr != null) { try { int radix = 10; if (countStr.length() >2 && countStr.substring(0, 2).equalsIgnoreCase("0x") ) { radix = 16; countStr = countStr.substring(2); } count = Integer.parseInt(countStr,radix); count = Math.min(count, 1000); //overflow protection count = Math.max(count, 5); //min 5 rows } catch (NumberFormatException e) { //System.out.println(e); } } return count; } protected String buildResponse(int count) { StringBuilder sb = new StringBuilder(); sb.append(""); sb.append("Servlet hello world\n"); //sb.append("

"); for (int i=1; i<=count; i++) { sb.append("Hello World! #").append( i ).append("
\n"); } sb.append(""); return sb.toString(); } }