1.引入fastjson-1.2.43.jar 包到lib下面,下载地址链接: https://pan.baidu.com/s/1EgAOikoG4VJRJrnUw83SNA  密码: n2fr

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; @WebServlet("/Servlet")
public class CalculateServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/json;charset=utf-8");
String numA = request.getParameter("numA");
String numB = request.getParameter("numB");
Float fnumA = Float.parseFloat(numA);
Float fnumB = Float.parseFloat(numB);
Float sum, minus, multiply, divide;
sum = fnumA + fnumB;
minus = fnumA - fnumB;
multiply = fnumA * fnumB;
divide = fnumA / fnumB;
DecimalFormat df = new DecimalFormat("#0.00");//取小数点后两位四舍五入
String sminus = df.format(minus);
String ssum = df.format(sum);
String smultiply = df.format(multiply);
String sdivide = df.format(divide);
Map<String,Object> map = new HashMap<String,Object>();
map.put("sum",ssum);
map.put("minus",sminus);
map.put("multiply",smultiply);
map.put("divide",sdivide);
JSONObject json = JSONObject.parseObject(JSON.toJSONString(map));//把map转为json数据
PrintWriter out = response.getWriter();
out.write(json.toString());
out.flush();
out.close();
}
}

  前端jsp代码入下

<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2017/12/18
Time: 14:59
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>综合测试</title>
<script src="static/js/jquery.js"></script>
</head>
<br>
<form id="f"><!--method="post" action="Servlet"-->
<label>numA:</label>
<input type="text" name="numA" id="numA" /><div id="A"></div><br/>
<label>numB:</label>
<input type="text" name="numB" id="numB" /><div id="B"></div><br/>
<input type="button" value="运算" id="btn"/>
</form>
<span>和为:</span><span id="sum"></span></br>
<span>差为:</span><span id="minus"></span></br>
<span>积为:</span><span id="multiply"></span></br>
<span>商为:</span><span id="divide"></span></br>
<script type="text/javascript">
var reg = /^\d+(\.\d+)?$/;//判断是数字
$("#numA").blur(function () {
var numA=$("#numA").val();
numA = $.trim(numA);
if(numA=="") $("#A").text("numA为空!");
else if(reg.test(numA)==false) $("#A").text("numA不是数字!");
});
$("#numA").focus(function () {
$("#A").empty();
});
$("#numB").blur(function () {
var numB=$("#numB").val();
numB = $.trim(numB);//去除空格符
if(numB=="") $("#B").text("numB为空!");
else if(reg.test(numB)==false) $("#B").text("numB不是数字!");
else if(numB==0) $("#B").text("error:分母不能为0!");
});
$("#numB").focus(function () {
$("#B").empty();
});
$("#btn").click(function () {
var numA=$("#numA").val();
var numB=$("#numB").val();
if(numA!=""&&numB!="")
$.get("/Servlet",$("#f").serialize(),function (data) {
console.log(data);
$("#sum").text(data.sum);
$("#minus").text(data.minus);
$("#multiply").text(data.multiply);
$("#divide").text(data.divide);
});}); </script>
</body>
</html>

  *注意如果出错,请将fastjson-1.2.43.jar复制一份到tomcat 的lib 目录下,然后重启项目。

Servlet 中利用阿里云包fastjson-1.2.43.jar把map转为Json并返回前端的更多相关文章

  1. 利用阿里云如何开发一款直播app?

    在开发的过程中应该注意些什么?下面让小编告诉你: 随着互联网的发展,越来越多的人已经加入互联网的行列.而且很多的人也开始直播,和众多的网友分享自己身边事情.互联网还在加速发展,从PC互联网,到移动互联 ...

  2. 利用阿里云容器服务打通TensorFlow持续训练链路

    本系列将利用Docker和阿里云容器服务,帮助您上手TensorFlow的机器学习方案 第一篇:打造TensorFlow的实验环境 第二篇:轻松搭建TensorFlow Serving集群 第三篇:打 ...

  3. 在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现Web端直传,服务端签名直传并设置上传回调的实现流程

    在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现本地文件上传流程 by shuijingwan · 2016/01/13 1.SDK安装 github ...

  4. 【阿里云产品公测】在Laravel4框架中使用阿里云ACE的缓存服务

    作者:阿里云用户dvbhack 受论坛排版和格式限制,这篇帖子的格式不是很利于阅读,如果你看帖子觉得不那么舒服,可以看我发表在自己博客上的原文:http://www.ofcss.com/2014/04 ...

  5. Ubuntu系统中登陆阿里云服务器的方法

    如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureF ...

  6. 如何在 Centos7 中使用阿里云的yum源

    如何在 Centos7 中使用阿里云的yum源 1. 备份原来的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Ba ...

  7. Discuz x3.2利用阿里云cdn处理https访问亲测教程

    第一步配置cdn和https 1.首先去阿里云.腾讯云.七牛云等申请免费https证书 2.虚拟主机是不能直接支持https的,需要cdn处理后才可以,并且端口是80 3.开启cdn加速处理,(买一个 ...

  8. 【阿里云产品公测】在Laravel4框架中使用阿里云OCS缓存

    作者:阿里云用户 supechina Laravel 是我最近用得非常多而且越用就越喜欢的一款PHP框架,由于没有向下兼容的历史包袱,完全面向对象的风格,借助 Facades 优雅的 IoC Cont ...

  9. pom中更换阿里云仓库时不要忽略了pluginRepositories

    用maven也大几年了,也一直在用阿里云的中央仓库. 不喜欢在maven的settings.xml里改,更喜欢直接在pom.xml里改,因为受git管理,小伙伴们拉下来即可. 然而网上的大部分技术文章 ...

随机推荐

  1. chrome 浏览器插件开发(二)—— 通信 获取页面变量 编写chrome插件专用的库

    在chrome插件的开发过程中,我遇到了一些问题,在网上找了不少文章,可能是浏览器升级的原因,有一些是有效的也有无效的.下面我简单的分享一下我遇到的坑,以及我把这些坑的解决方案整理而成的js库 —— ...

  2. data-ng-hide指令用于隐藏或显示HTML元素

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  3. docker快速安装jenkins

    用过docker的人,可能真的很难忍受再一步步二进制安装了,好了话不多说,感慨一下jenkins实现自动化发布构建真的很方便. 推荐一个学习的好地方https://m.w3cschool.cn/jen ...

  4. mysql 创建用户、授权、修改密码

    以下操作都要在mysql所在机器操作 一.创建用户 CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 或 insert into mysql. ...

  5. html5中的progress兼容ie,制作进度条样式

    html5新增的progress标签用处很大,它可以制作进度条,不用像以前那样用css来制作进度条! 一.progress使用方法 progress标签很好使用,他有两个属性,value和max,va ...

  6. mysql 安装常用命令,卸载不干净等

    安装mysql apt-get install mysql-server apt-get install mysql-client sudo apt-get install libmysqlclien ...

  7. OC中block作方法参数时的用法

    方式一.在传参时直接声明block回调方法. 1. 定义方法: - (int)doTest:(NSString *)name para1:(int)temp1 para2:(int)temp2 suc ...

  8. iOS-cell的封装和重用

    一.通过xib描述cell---(cell的高度一致,cell里面控件布局基本一样): 1.(M) 创建模型: -------------------------------------------- ...

  9. 准备篇(二)C语言

    因为C语言部分打算单独维护,所以 目录: 1. C语言基础篇(零)gcc编译和预处理 2. C语言基础篇(一)关键字 3. C语言基础篇(二)运算符 4. C语言指针篇(一)指针与指针变量 5. C语 ...

  10. Leetcode 337. 打家劫舍 III

    题目链接 https://leetcode.com/problems/house-robber-iii/description/ 题目描述 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可 ...