001package bradleyross.library.json; 002import java.io.IOException; 003import java.io.PrintWriter; 004import javax.servlet.ServletException; 005import javax.servlet.http.HttpServlet; 006import javax.servlet.http.HttpServletRequest; 007import javax.servlet.http.HttpServletResponse; 008@SuppressWarnings("serial") 009public class StatesJson extends HttpServlet { 010 /** 011 * Process request. 012 * @param request HTTP request object 013 * @param response HTTP response object 014 * @throws ServletException if problem with servlet 015 * @throws IOException if IO problems 016 */ 017 @Override 018 public void doGet(HttpServletRequest request, HttpServletResponse response) 019 throws IOException, ServletException { 020 response.setContentType("application/json"); 021 response.setCharacterEncoding("UTF-8"); 022 works(request,response); 023 } 024 /** 025 * Process request. 026 * @param request HTTP request object 027 * @param response HTTP response object 028 * @throws ServletException if problem with servlet 029 * @throws IOException if IO problems 030 */ 031 @Override 032 public void doPost(HttpServletRequest request, HttpServletResponse response) 033 throws IOException, ServletException{ 034 response.setContentType("application/json"); 035 response.setCharacterEncoding("UTF-8"); 036 works(request, response); 037 038 039 } 040 /** 041 * Generate output. 042 * <p>The items in the JSON item use the entities country, state, name.</p> 043 * @param request HTTP request object 044 * @param response HTTP response object 045 * @throws IOException if io problems 046 * @throws ServletException if servlet problems 047 */ 048 protected void works(HttpServletRequest request, HttpServletResponse response) 049 throws IOException, ServletException{ 050 PrintWriter output = response.getWriter(); 051 output.println("{\"entries\" : ["); 052 output.println("{\"country\":\"US\", \"state\":\"NY\",\"name\":\"New York\"},"); 053 output.println("{\"country\":\"US\", \"state\":\"PA\", \"name\":\"Pennsylvania\"}"); 054 output.println("]}"); 055 } 056 public StatesJson() { ; } 057 058}