示例#1
0
public class Relector extends HttpServlet {
  ResourceBundle res = ResourceBundle.getBundle("XMLReflection");
  /**
   * Process incoming HTTP GET requests
   *
   * @param request Object that encapsulates the request to the servlet
   * @param response Object that encapsulates the response from the servlet
   */
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws javax.servlet.ServletException, IOException {
    performTask(request, response);
  }

  /**
   * Process incoming HTTP POST requests
   *
   * @param request Object that encapsulates the request to the servlet
   * @param response Object that encapsulates the response from the servlet
   */
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    performTask(request, response);
  }

  /**
   * Process incoming HTTP POST requests
   *
   * @param request Object that encapsulates the request to the servlet
   * @param response Object that encapsulates the response from the servlet
   */
  public void performTask(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    try {
      String service = getServiceName(request);
      PrintWriter out = null;
      out = response.getWriter();
      out.write(res.getString(service));
      out.flush();
      out.close();
    } catch (Throwable t) {
    }
  }

  private String getServiceName(HttpServletRequest request) {

    String name = (String) request.getAttribute("serviceName");
    org.jdom.Element req = (org.jdom.Element) request.getAttribute("request");
    String funcType = req.getChild(name).getChildText("funcType");
    if (funcType != null) return name + funcType;
    else return name;
  }
}
/**
 * Example servlet showing request headers
 *
 * @author James Duncan Davidson <*****@*****.**>
 */
public class RequestHeaderExample extends HttpServlet {

  ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");

  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    response.setContentType("text/html");

    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");

    String title = rb.getString("requestheader.title");
    out.println("<title>" + title + "</title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");

    // all links relative

    // XXX
    // making these absolute till we work out the
    // addition of a PathInfo issue

    out.println("<a href=\"../reqheaders.html\">");
    out.println(
        "<img src=\"../images/code.gif\" height=24 "
            + "width=24 align=right border=0 alt=\"view code\"></a>");
    out.println("<a href=\"../index.html\">");
    out.println(
        "<img src=\"../images/return.gif\" height=24 "
            + "width=24 align=right border=0 alt=\"return\"></a>");

    out.println("<h3>" + title + "</h3>");
    out.println("<table border=0>");
    Enumeration e = request.getHeaderNames();
    while (e.hasMoreElements()) {
      String headerName = (String) e.nextElement();
      String headerValue = request.getHeader(headerName);
      out.println("<tr><td bgcolor=\"#CCCCCC\">");
      out.println(HTMLFilter.filter(headerName));
      out.println("</td><td>");
      out.println(HTMLFilter.filter(headerValue));
      out.println("</td></tr>");
    }
    out.println("</table>");
  }

  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    doGet(request, response);
  }
}
示例#3
0
  /**
   * Process incoming HTTP POST requests
   *
   * @param request Object that encapsulates the request to the servlet
   * @param response Object that encapsulates the response from the servlet
   */
  public void performTask(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    try {
      String service = getServiceName(request);
      PrintWriter out = null;
      out = response.getWriter();
      out.write(res.getString(service));
      out.flush();
      out.close();
    } catch (Throwable t) {
    }
  }
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings", request.getLocale());
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.println("<html>");
    out.println("<head>");

    String title = rb.getString("helloworld.title");

    out.println("<title>" + title + "</title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");

    // note that all links are created to be relative. this
    // ensures that we can move the web application that this
    // servlet belongs to to a different place in the url
    // tree and not have any harmful side effects.

    // XXX
    // making these absolute till we work out the
    // addition of a PathInfo issue

    out.println("<a href=\"../helloworld.html\">");
    out.println(
        "<img src=\"../images/code.gif\" height=24 "
            + "width=24 align=right border=0 alt=\"view code\"></a>");
    out.println("<a href=\"../index.html\">");
    out.println(
        "<img src=\"../images/return.gif\" height=24 "
            + "width=24 align=right border=0 alt=\"return\"></a>");
    out.println("<h1>" + title + "</h1>");
    out.println("</body>");
    out.println("</html>");
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    boolean orderCompleted = true;

    // Get the user's session and shopping cart
    HttpSession session = request.getSession(true);
    ResourceBundle messages = (ResourceBundle) session.getAttribute("messages");
    ShoppingCart cart = (ShoppingCart) session.getAttribute("cart");

    if (cart == null) {
      cart = new ShoppingCart();
      session.setAttribute("cart", cart);
    }

    // Update the inventory
    try {
      utx.begin();
      bookDB.buyBooks(cart);
      utx.commit();
    } catch (Exception ex) {
      try {
        utx.rollback();
      } catch (Exception e) {
        System.out.println("Rollback failed: " + e.getMessage());
      }

      System.err.println(ex.getMessage());
      orderCompleted = false;
    }

    // Payment received -- invalidate the session
    session.invalidate();

    // set content type header before accessing the Writer
    response.setContentType("text/html");
    response.setBufferSize(8192);

    PrintWriter out = response.getWriter();

    // then write the response
    out.println(
        "<html>" + "<head><title>" + messages.getString("TitleReceipt") + "</title></head>");

    // Get the dispatcher; it gets the banner to the user
    RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/banner");

    if (dispatcher != null) {
      dispatcher.include(request, response);
    }

    if (orderCompleted) {
      out.println("<h3>" + messages.getString("ThankYou") + request.getParameter("cardname") + ".");
    } else {
      out.println("<h3>" + messages.getString("OrderError"));
    }

    out.println(
        "<p> &nbsp; <p><strong><a href=\""
            + response.encodeURL(request.getContextPath())
            + "/bookstore\">"
            + messages.getString("ContinueShopping")
            + "</a> &nbsp; &nbsp; &nbsp;"
            + "</body></html>");
    out.close();
  }
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    response.setContentType("text/html");

    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<head>");

    String title = rb.getString("requestinfo.title");
    out.println("<title>" + title + "</title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");

    // img stuff not req'd for source code html showing
    // all links relative!

    // XXX
    // making these absolute till we work out the
    // addition of a PathInfo issue

    out.println("<a href=\"../reqinfo.html\">");
    out.println(
        "<img src=\"../images/code.gif\" height=24 "
            + "width=24 align=right border=0 alt=\"view code\"></a>");
    out.println("<a href=\"../index.html\">");
    out.println(
        "<img src=\"../images/return.gif\" height=24 "
            + "width=24 align=right border=0 alt=\"return\"></a>");

    out.println("<h3>" + title + "</h3>");
    out.println("<table border=0><tr><td>");
    out.println(rb.getString("requestinfo.label.method"));
    out.println("</td><td>");
    out.println(request.getMethod());
    out.println("</td></tr><tr><td>");
    out.println(rb.getString("requestinfo.label.requesturi"));
    out.println("</td><td>");
    out.println(HTMLFilter.filter(request.getRequestURI()));
    out.println("</td></tr><tr><td>");
    out.println(rb.getString("requestinfo.label.protocol"));
    out.println("</td><td>");
    out.println(request.getProtocol());
    out.println("</td></tr><tr><td>");
    out.println(rb.getString("requestinfo.label.pathinfo"));
    out.println("</td><td>");
    out.println(HTMLFilter.filter(request.getPathInfo()));
    out.println("</td></tr><tr><td>");
    out.println(rb.getString("requestinfo.label.remoteaddr"));

    String cipherSuite = (String) request.getAttribute("javax.servlet.request.cipher_suite");
    out.println("</td><td>");
    out.println(request.getRemoteAddr());
    out.println("</table>");

    if (cipherSuite != null) {
      out.println("</td></tr><tr><td>");
      out.println("SSLCipherSuite:");
      out.println("</td>");
      out.println("<td>");
      out.println(request.getAttribute("javax.servlet.request.cipher_suite"));
      out.println("</td>");
    }
  }