前端jsp与后端servlet传值(java web)

简介: jsp中js使用jQuery封装好的 $.ajax()方法与服务器进行交互 var jsonStick = this.strtoJson(); $.

jsp中js使用jQuery封装好的 $.ajax()方法与服务器进行交互

  var jsonStick = this.strtoJson();
  $.ajax({
                type : 'post',//不起作用 要用jsonP
                url : 'controllerServlet',//要传输数据对象的地址
                contentType : "application/x-www-form-urlencoded",//转化为form表单传值
                data : {
                    "js" : jsonStick
                }, //前面的js是服务端获取的ID 后面的jsonStick是处理后的json对象
                cache : false,
                dataType : 'text',//这个关系到你能不能正确接收到servlet 响应的数据
                async : false, //因为ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false
                success : function(data) {
                    //console.log(data);
                    flag = data; //采用全局变量flag接收数据(data未作处理)
                },
                error : function(msg) { //ajax请求失败后触发的方法
                    //弹出错误信息
                    console.log(msg);
                }
            });
  //数据处理函数
  function() {
            //'':this.note.name,
            var arr = [];
            var json = {};
            json.note_id = this.id
            json.note = this.text;
            json.left = this.left;
            json.top = this.top;
            json.zindex = this.zIndex;
            if (this.sqlId == null) {
                this.sqlId = 0;
            }
            json.sqlId = this.sqlId;
            arr.push(json);
            var jsonStick = JSON.stringify(arr);//格式化json数据
            return jsonStick;
        }

servlet接收 处理 响应

protected void doGet(.........){
  String js = request.getParameter("js");//接收jsp传过来的数据
  JSONArray json = JSONArray.fromObject(js);//对数据进行数组转化
  JSONObject jsonOne = json.getJSONObject(0);//获取确定的json对象
  boolean flag = true;
  PrintWriter out = response.getWriter();
  out.print(flag);//将flag传给jsp
  out.close();
}

jsp接收响应 并对数据进行处理

  $.ajax({
            type : 'post',
            url : 'sendServlet',
            cache : false,
            dataType : 'json',
            async : false, //因为ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false
            success : function(data) {
                //console.log(data.result.note)
                for (var i in data) {

                    console.log(data[i])
                    note = new Note();
                    note.id = data[i].note_id;
                    note.text = data[i].note;
                    note.timestamp = new Date().getTime();
                    note.left = data[i].left;
                    note.top = data[i].top;
                    note.zIndex = data[i].zindex;


                }
            },
            error : function(msg) { //ajax请求失败后触发的方法
                //弹出错误信息
                console.log(msg);
            }
        });

中间用到的jar包以及js

https://pan.baidu.com/s/1XEOkM1as_10I92WAzooBuA
密码:gix8
目录
相关文章
|
1月前
|
JSON 前端开发 Java
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
文章介绍了Java后端如何使用Spring Boot框架响应不同格式的数据给前端,包括返回静态页面、数据、HTML代码片段、JSON对象、设置状态码和响应的Header。
113 1
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
|
23天前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
15 1
|
1月前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
46 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
24天前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
183 0
|
24天前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
25天前
|
前端开发 Java 数据库
springBoot:template engine&自定义一个mvc&后端给前端传数据&增删改查 (三)
本文介绍了如何自定义一个 MVC 框架,包括后端向前端传递数据、前后端代理配置、实现增删改查功能以及分页查询。详细展示了代码示例,从配置文件到控制器、服务层和数据访问层的实现,帮助开发者快速理解和应用。
|
Java
Java学习路线-55:自定义JSP标签
Java学习路线-55:自定义JSP标签
94 0
Java学习路线-55:自定义JSP标签
Java学习路线-55:自定义JSP标签
|
Java
Java学习路线-55:自定义JSP标签
Java学习路线-55:自定义JSP标签
116 0
|
6天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?

热门文章

最新文章