账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    java servlet 页面显示不全。
    86
    0

    在学习java ee的时候。用事例的代码跑项目的时候出现显示不全的问题,重启电脑和服务器都无果。找了很久的毛病都没有找到,特来请教大家,还望大家能够解答,谢谢!
    下面上代码:

    if(isUserExist){
                        req.setAttribute("login", loginValue);
                        try {
                            getOrderList(req, resp);
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        displayMyStocklistPage(req, resp);
                        
                    }else{
                        displayErrorPage(req,resp);
                    }

    在这个servlet中调用了(displayMystocklistPage )这两个方法来画界面。
    下面是方法内容:

    public void displayMyStocklistPage(HttpServletRequest req, HttpServletResponse res) throws IOException {
            ArrayList list = (ArrayList) req.getAttribute("list"); // resp.sendRedirect(req.getContextPath()+"/MyStockList");
    
            boolean isItemOut = false;
            PrintWriter out = res.getWriter();
            //用本地的out查看内容
            //PrintStream out = null ;     // 声明打印流对象
            // 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中  
           // out = new PrintStream(new FileOutputStream(new File("/Users/insomnialee/Downloads/Sample-20171227/sample2/web/test.txt"))) ;
    
            out.println("<html><head>");
            out.println("<script src=\"https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js\"></script>\n" +
                    "    <style>\n" +
                    "        table, th , td {\n" +
                    "            border: 1px solid grey;\n" +
                    "            border-collapse: collapse;\n" +
                    "            padding: 5px;\n" +
                    "        }\n" +
                    "        table tr:nth-child(odd) {\n" +
                    "            background-color: #f1f1f1;\n" +
                    "        }\n" +
                    "        table tr:nth-child(even) {\n" +
                    "            background-color: #ffffff;\n" +
                    "        }\n" +
                    "    </style>\n" +
                    "</head>\n" +
                    "<body>");
    
            out.println("<table width='650' border='0' >");
            out.println("<tr>");
            out.println("<td width='650' height='80' background='" + req.getContextPath() + "/image/top.jpg'>&nbsp;</td>");
            out.println("</tr>");
            out.println("</table>");
            out.println("<p>Welcome " + req.getAttribute("login") + "</p>");
    
            out.println("My Order List:  ");
            out.println("<br>");
    
    
            out.println("<table>");
            out.println("<tr>"+
                    "<td>"+"日期"+"</td>"+
                    "<td>"+"id"+"</td>"+
                    "<td>"+"商品名称"+"</td>"+
                    "<td>"+"数量"+"</td>"+
                    "<td>"+"总价"+"</td>"+
                    "<td>"+"商品状态"+"</td>"+
                    "</tr>");
            for (int i = 0; i < list.size(); i++) {
                Order order = (Order) list.get(i);
                out.println("<tr>"+
                        "<td>"+order.getDate().toString()+"</td>"+
                        "<td>"+order.getUid()+"</td>"+
                        "<td>"+order.getCname()+"</td>"+
                        "<td>"+order.getCnum()+"</td>"+
                        "<td>"+order.getPrice()+"</td>"
                        );
                if(order.getIsout()==0){
                    isItemOut = true;
                    out.println("<td>"+"-缺货中-"+"</td>");
                }else{
                    out.println("<td>"+"-正常-"+"</td>");
                }
                out.println("</tr>");
            }
            out.println("</table>");
    
    //        out.println("</p>");
            if(isItemOut){
                out.println("<p style=\"color:red\"> 您订单中有部分商品缺货! </p>");
            }
    
            out.println("Click <a href='" + res.encodeURL(req.getRequestURI()) + "'>here</a> to reload this page.<br>");
            out.println("<form method='GET' action='" + res.encodeURL(req.getContextPath() + "/Login") + "'>");
            out.println("<input value='Logout'>");
            out.println("</form>");
            out.println("<p>Servlet is version @version@</p>");
            out.println("</body></html>");
            //displayout page
            //out.close();
        }

    最后展示出来的界面是这样的
    //插图老是失败,用文字描述下吧,最后的界面中没有代码最后<input>和<p>这两个标签。客户端接收到的html中只有一个空的<form>,而在我测试的时候发现,删去后面的一些展示代码。前面本来能够正常显示的甚至还会变得不正常显示。我也做了将输出输出到txt然后在当成html文件打开的办法,这样测试出来的界面是正常的。所以怀疑是通信有大小限制,在out中查看的时候,又看到没有达到limit的限制值(8192),,希望过来人能够指点迷津,,谢谢!!

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部