JavaScript中如何调用Java方法


Posted in Javascript onSeptember 16, 2020

在JavaScript中想要调用Java的方法,我通过JavaScript访问servlet,再通过servlet调用Java某个类的方法。

HTML代码

<table id="cartTable">
  <thead>
    <tr>
      <th class="product_remove">
        <label>
          <input class="check-all check" type="checkbox"/>  全选
        </label>
        <a class="fl delete" id="deleteAll" href="javascript:;" rel="external nofollow" ><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() %>" rel="external nofollow" rel="external nofollow" >
          <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() %>" rel="external nofollow" rel="external nofollow" ><%=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=" rel="external nofollow" +shoes_id+"&user_id="+22;
        alert("删除成功!");
      }
    } else {
      alert('请选择商品!');
    }
    getTotal(); //更新总数
  }

以上就是JavaScript中如何调用Java方法的详细内容,更多关于js中调用Java方法的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
Javascript下判断是否为闰年的Datetime包
Oct 26 Javascript
javascript对数组的常用操作代码 数组方法总汇
Jan 27 Javascript
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
Sep 12 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
May 10 Javascript
angularjs中ng-bind-html的用法总结
May 23 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 Javascript
浅谈js闭包理解
Mar 28 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
May 08 Javascript
Vue封装全局过滤器Filters的步骤
Sep 16 #Javascript
Vue父子组件传值的一些坑
Sep 16 #Javascript
vue-cli3项目打包后自动化部署到服务器的方法
Sep 16 #Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
Sep 16 #Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
Sep 16 #Javascript
vue中选中多个选项并且改变选中的样式的实例代码
Sep 16 #Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 #Javascript
You might like
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
python实现的希尔排序算法实例
2015/07/01 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
python执行精确的小数计算方法
2019/01/21 Python
超简单使用Python换脸实例
2019/03/27 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
python实现扫雷游戏的示例
2020/10/20 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
写自荐信的七个技巧
2013/10/15 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
护士长竞聘书
2014/03/31 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
2015年度党员个人总结
2015/02/14 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python