js中調用Java方法


在JavaScript中想要調用Java的方法,我通過JavaScript訪問servlet,再通過servlet調用Java某個類的方法。

HTML代碼

<table id="cartTable">
    <thead>
        <tr>
            <th class="product_remove">
                <label>
                    <input class="check-all check" type="checkbox"/>&nbsp;&nbsp;全選
                </label>
                <a class="fl delete" id="deleteAll" href="javascript:;"><i class="fa fa-trash-o"></i></a>
            </th>
            <th class="product_thumb">圖片</th>
            <th class="product_name">名稱</th>
            <th class="product-price">價格</th>
             <th class="product_quantity">款式</th>
       </tr>
    </thead>
    <tbody>
        <tr>
            <td class="product_remove">
                <input class="check-one check" type="checkbox"/>
            </td>
            <td class="product_thumb">
                <a href="ShopShoesDetails.jsp?shoes_id=<%=shoes.getShoes_id() %>">
                    <img src="${pageContext.request.contextPath}/ShopServlet?method=getShopsShoesImage&shoes_id=<%=shoes.getShoes_id() %>" alt="">
               </a>
            </td>
            <td class="product_name">
                <a href="ShopShoesDetails.jsp?shoes_id=<%=shoes.getShoes_id() %>"><%=shoes.getBrand() %>/<%=shoes.getSeries() %>/<%=shoes.getName() %>
                </a>
            </td>
            <td class="product-price"><%=shoes.getPrice() %></td>
            <td class="product_quantity"><%=shoes.getSex() %>/<%=shoes.getSize() %></td>
        </tr>
    </tbody>
</table> 

 

ShopShoesDao.java

public void deleteFromCart(String shoes_id) {
        System.out.println("ShopShoesDao.deleteFromCart");
        String[] shoes_ids = shoes_id.split(",");
        
        Connection connection = DBUtil.getConnection();
        PreparedStatement preparedStatement = null;
        
        try {
            for (String string : shoes_ids) {
                int id = Integer.parseInt(string);
                String sql = "delete from user_product_cart where shoes_id = ?";
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setInt(1, id);
                preparedStatement.executeUpdate();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            DBUtil.close(preparedStatement);
            DBUtil.close(connection);
        }
    }

 

ShopServlet.java

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("service");
        request.setCharacterEncoding("UTF-8");
        String method=request.getParameter("method");
        System.out.println(method);
        if(method.equals("addProduct")) {
            addProduct(request,response);
        }else if(method.equals("getShopsShoesImage")) {
            try {
                getShopsShoesImage(request,response);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else if(method.equals("addToCart")) {
            try {
                addToCart(request, response);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else if(method.equals("deleteFromCart")) {
            try {
                deleteFromCart(request, response);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else if(method.equals("payFromCart")) {
            try {
                payFromCart(request, response);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
private void deleteFromCart(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException {
        // TODO Auto-generated method stub
        System.out.println("deleteFromCart");
        request.setCharacterEncoding("UTF-8");
        int user_id= Integer.parseInt(request.getParameter("user_id"));
        System.out.println(user_id);
        String shoes_id = request.getParameter("shoes_id");
        System.out.println(shoes_id);
        ShopShoesDao shopShoesDao = new ShopShoesDao();
        shopShoesDao.deleteFromCart(shoes_id);
        request.getSession().setAttribute("shoes_id", shoes_id);
        response.sendRedirect(request.getContextPath()+"/cart.jsp");
    }

 

javascrip代碼 

// 點擊全部刪除
    deleteAll.onclick = function () {
        if (selectedTotal.innerHTML != 0) {
            var con = confirm('確定刪除所選商品嗎?'); //彈出確認框
            if (con) {
                var shoes_id = '';
                for (var i = 0; i < tr.length; i++) {
                    // 如果被選中,就刪除相應的行
                    if (tr[i].getElementsByTagName('input')[0].checked) {
                        shoes_id = shoes_id + tr[i].cells[0].innerHTML + ',';
                        
                        //tr[i].parentNode.removeChild(tr[i]); // 刪除相應節點
                        //i--; //回退下標位置
                    }
                }
                alert(shoes_id);
                window.location.href="ShopServlet?method=deleteFromCart&shoes_id="+shoes_id+"&user_id="+22;
                alert("刪除成功!");
            }
        } else {
            alert('請選擇商品!');
        }
        getTotal(); //更新總數
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM