import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ColorServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String pageColor; String colorParameter = req.getParameter("color"); if (colorParameter != null) { Cookie colorCookie = new Cookie("color", colorParameter); colorCookie.setMaxAge(31536000); res.addCookie(colorCookie); pageColor = colorParameter; } else { pageColor = retrieveColor(req.getCookies()); } String text = req.getParameter("text"); String translation = translate(text); res.setContentType("text/html"); ServletOutputStream out = res.getOutputStream(); out.println(""); out.println("
"); out.println("Text to translate:"); out.println("
"); out.println(""); out.println(""); } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doPost(req, res); } String translate(String input) { StringBuffer output = new StringBuffer(); if (input != null) { for (int i = 0; i < input.length(); i++) { char inChar = input.charAt(i); if ((inChar >= 'A') & (inChar <= 'Z')) { inChar += 13; if (inChar > 'Z') inChar -= 26; } if ((inChar >= 'a') & (inChar <= 'z')) { inChar += 13; if (inChar > 'z') inChar -= 26; } output.append(inChar); } } return output.toString(); } String retrieveColor(Cookie[] cookies) { String inColor = "#FFFFFF"; for (int i = 0; i < cookies.length; i++) { String cookieName = cookies[i].getName(); if (cookieName.equals("color")) { inColor = cookies[i].getValue(); } } return inColor; } }