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 相关文章推荐
走出JavaScript初学困境—js初学
Dec 29 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
JS实现样式清新的横排下拉菜单效果
Oct 09 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
详解JavaScript的BUG和错误
May 07 Javascript
详解基于mpvue的小程序markdown适配解决方案
May 08 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
JavaScript对象拷贝与赋值操作实例分析
Dec 10 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 Javascript
详解vue 组件注册
Nov 20 Vue.js
JavaScript选择器函数querySelector和querySelectorAll
Nov 27 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
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php懒人函数 自动添加数据
2011/06/28 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
js常用排序实现代码
2010/12/28 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
jquery.validate使用详解
2016/06/02 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python生成随机密码的方法
2017/06/16 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
为什么需要版本控制?
2013/08/08 面试题
应届护士求职信范文
2014/01/26 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
导游词之阆中古城
2019/12/23 职场文书