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 相关文章推荐
Prototype Selector对象学习
Jul 23 Javascript
jQuery下的几个你可能没用过的功能
Aug 29 Javascript
javascript针对DOM的应用分析(三)
Apr 15 Javascript
js 时间格式与时间戳的相互转换示例代码
Dec 25 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
JS采用绝对定位实现回到顶部效果完整实例
Jun 20 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 Javascript
jQuery轻量级表单模型验证插件
Oct 15 jQuery
Javascript实现时间倒计时功能
Nov 17 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 类型转换函数intval
2009/06/20 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
《JavaScript函数式编程》读后感
2015/08/07 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
python k-近邻算法实例分享
2014/06/11 Python
Python中__init__和__new__的区别详解
2014/07/09 Python
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
简历自我评价怎么写呢?
2014/01/06 职场文书
个人评价范文分享
2014/01/11 职场文书
浪费资源的建议书
2014/03/12 职场文书
目标责任书范文
2014/04/14 职场文书
力学专业求职信
2014/07/23 职场文书
营销经理工作检讨书
2014/11/03 职场文书
2014年图书室工作总结
2014/12/09 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
钱学森观后感
2015/06/04 职场文书
员工升职自我评价
2019/03/26 职场文书
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers