⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adminprotocolhandler.java

📁 J2ME MIDP_Example_Applications
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            }
            out.println("<td>" + courierName + "</td>");

            out.println("<td>" + deliveryOrder.getDescription()+ "</td>");
            out.println("<td>" + deliveryOrder.getSenderAddress()+ "</td>");
            out.println("<td>" + deliveryOrder.getRecipientAddress()+ "</td>");
            out.println("<td>" + deliveryOrder.getNote()+ "</td>");
            out.println("</tr>");
        }
        out.println("</table>");
        out.println("<br><p><font color=\"red\">" +
                    "Note: Delivery Orders are not stored persistently in" +
                    " this prototype.</font></p>");
        out.println("<p><a href=\"" + contextPath + ADMIN_MAIN +
                    "\">Courier and Delivery Order Administration</a></p>");
        out.println("</body>");
        out.println("</html>");
    }


    void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException
    {
        try
        {
            String pathInfo = request.getPathInfo();
            if (pathInfo.equals("/admin-create-courier"))
            {
                handleCreateCourierRequest(request, response);
            }
            else if (pathInfo.equals("/admin-delete-courier"))
            {
                handleDeleteCourierRequest(request, response);
            }
            else if (pathInfo.equals("/admin-create-deliveryOrder"))
            {
                handleCreateDeliveryOrder(request, response);
            }
            else if (pathInfo.equals("/admin-delete-deliveryOrder"))
            {
                handleDeleteDeliveryOrderRequest(request, response);
            }
            else
            {
                response.sendError(HttpServletResponse.SC_BAD_REQUEST,
                                   "Unexpected path info");
            }
        }
        catch(Exception e)
        {
            writeErrorPage(response, e.getMessage(), request.getContextPath());
        }
    }
    
    
    private void handleCreateCourierRequest(HttpServletRequest request,
                                            HttpServletResponse response)
        throws IOException
    {
        String name = request.getParameter("name");
        String contextPath = request.getContextPath();
        if ((name == null) || (name.length() == 0))
        {
            writeErrorPage(response, "Specify a name", contextPath);
        }
        else if (courierDatabase.getCourier(name) != null)
        {
            writeErrorPage(response,
                           "Courier \"" + name + "\" already exists",
                           contextPath);
        }
        else
        {
            String password = request.getParameter("password");
            if (password == null)
            {
                password = "";
            }
            Courier courier = courierDatabase.createCourier(name, password);
            writeCourierCreatedPage(response, name, contextPath);
        }
    }


    private void handleDeleteCourierRequest(HttpServletRequest request,
                                            HttpServletResponse response)
        throws IOException
    {
        String name = request.getParameter("name");
        String contextPath = request.getContextPath();
        if ((name == null) || (name.length() == 0))
        {
            writeErrorPage(response, "Specify a name", contextPath);
        }
        else
        {
            String password = request.getParameter("password");
            if (password == null)
            {
                password = "";
            }
            Courier courier = courierDatabase.getCourier(name);
            if ((courier == null) || !courier.isCorrectPassword(password))
            {
                writeErrorPage(response,
                               "Invalid name or password",
                               contextPath);
            }
            else
            {
                courierDatabase.deleteCourier(courier);
                writeCourierDeletedPage(response, name, contextPath);
            }
        }
    }


    private void handleCreateDeliveryOrder(HttpServletRequest request,
                                           HttpServletResponse response)
        throws IOException
    {
        String contextPath = request.getContextPath();

        String description = request.getParameter("description");
        String senderAddress = request.getParameter("senderAddress");
        String recipientAddress = request.getParameter("recipientAddress");
        String note = request.getParameter("note");
        if (note == null)
        {
            note = "";
        }

        String errorStr = "";
        if ((description == null) || (description.length() == 0))
        {
            errorStr += "Description missing. ";
        }
        if ((senderAddress == null) || (senderAddress.length() == 0))
        {
            errorStr += "Sender Address missing. ";
        }
        if ((recipientAddress == null) || (recipientAddress.length() == 0))
        {
            errorStr += "Recipient Address missing. ";
        }
        if (!errorStr.equals(""))
        {
            // Some mandatory field is missing.
            writeErrorPage(response, errorStr, contextPath);
        }
        else
        {
            DeliveryOrder deliveryOrder =
                deliveryOrderDatabase.createDeliveryOrder(
                                         description,
                                         senderAddress,
                                         recipientAddress,
                                         note
                                      );

            writeDeliveryOrderCreatedPage(response,
                                          deliveryOrder.getId(),
                                          contextPath);
        }
    }


    private void handleDeleteDeliveryOrderRequest(HttpServletRequest request,
                                                  HttpServletResponse response)
        throws IOException
    {
        String id = request.getParameter("id");
        String contextPath = request.getContextPath();
        if ((id == null) || (id.length() == 0))
        {
            writeErrorPage(response,
                           "Specify a DeliveryOrder 'id'", contextPath);
        }
        DeliveryOrder deliveryOrder =
            deliveryOrderDatabase.getDeliveryOrder(id);
        if (deliveryOrder == null) 
        {
            writeErrorPage(response,
                           "Invalid DeliveryOrder 'id'", contextPath);
        }
        else
        {
            deliveryOrderDatabase.deleteDeliveryOrder(deliveryOrder);
            writeDeliveryOrderDeletedPage(response, id, contextPath);
        }
    }


    private void writeErrorPage(HttpServletResponse response,
                                String message,
                                String contextPath)
        throws IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>" + SERVICE_NAME + ": Error</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1><font color=\"red\">Error</font></h1>");
        out.println("<p>" + message + "</p>");
        out.println("<a href=\"" + contextPath + ADMIN_MAIN +
                    "\">Back to admin homepage</a>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }


    private void writeAdminPage(PrintWriter out, String contextPath)
        throws IOException
    {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>admin</title>");
        out.println("</title>");
        out.println("</head>");
        out.println("<body>");

        out.println("<h1>Courier and Delivery Order Administration</h1>");

        out.println("<ul>");
        out.println("<li><a href=\"" + contextPath +
                    "/admin-courier\">courier administration</a></li>");
        out.println("<ul>");
        out.println("<li><a href=\"" + contextPath +
                    "/admin-create-courier\">create courier</a></li>");
        out.println("<li><a href=\"" + contextPath +
                    "/admin-delete-courier\">delete courier</a></li>");
        out.println("</ul>");

        out.println("<li><a href=\"" + contextPath +
                    "/admin-deliveryOrder\">delivery request" +
                    " administration</a></li>");
        out.println("<ul>");
        out.println("<li><a href=\"" + contextPath +
                    "/admin-create-deliveryOrder\">" +
                    "create delivery request</a></li>");
        out.println("<li><a href=\"" + contextPath +
                    "/admin-delete-deliveryOrder\">" +
                    "delete delivery request</a></li>");
        out.println("</ul>");

        out.println("</ul>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }


    private void writeCourierCreatedPage(HttpServletResponse response,
                                         String name,
                                         String contextPath)
        throws IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Courier Created</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Courier Created</h1>");
        out.println("<p>Courier " + name + " is now ready for use.</p>");
        out.println("<a href=\"" + contextPath + "/admin-courier\">" +
                    "Back to courier list" +
                    "</a>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }


    private void writeDeliveryOrderCreatedPage(HttpServletResponse response,
                                               String id,
                                               String contextPath)

        throws IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Delivery Order Created</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Delivery Order Created</h1>");
        out.println("<p>Delivery Order (" + id + ") " +
                    "is now ready for use.</p>");
        out.println("<a href=\"" + contextPath +
                    "/admin-deliveryOrder\">Back to delivery request list</a>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }


    private void writeCourierDeletedPage(HttpServletResponse response,
                                         String name,
                                         String contextPath)
        throws IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Courier Deleted</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Courier Deleted</h1>");
        out.println("<p>Courier " + name + " is now deleted.</p>");
        out.println("<a href=\"" + contextPath +
                    "/admin\">Back to courier list</a>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }


    private void writeDeliveryOrderDeletedPage(HttpServletResponse response,
                                               String id,
                                               String contextPath)
        throws IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Delivery Order Deleted</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Delivery Order Deleted</h1>");
        out.println("<p>Delivery Order " + id + " is now deleted.</p>");
        out.println("<a href=\"" + contextPath +
                    "/admin-deliveryOrder\">Back to delivery " +
                    "request list</a>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -