Servlet 中利用阿里云包fastjson-1.2.43.jar把map转为Json并返回前端

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

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 目录下,然后重启项目。

原文地址:https://www.cnblogs.com/feipengting/p/8151367.html

时间: 2024-11-13 05:29:33

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

如何利用阿里云打造感知零售平台

摘要: 一.背景介绍所谓感知零售是指的根据店铺顾客的情绪变化以及顾客在店铺内对商品货架停留位置来判断顾客对商品感兴趣程度,实时在线调整营销策略.帮助企业第一时间掌握顾客感受,第一时间下发营销策略,第一时间得到营销效果反馈. 原文地址:http://click.aliyun.com/m/43688/ 一.背景介绍 所谓感知零售是指的根据店铺顾客的情绪变化以及顾客在店铺内对商品货架停留位置来判断顾客对商品感兴趣程度,实时在线调整营销策略.帮助企业第一时间掌握顾客感受,第一时间下发营销策略,第一时间得

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

如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureFX:前者是命令行界面,功能类似xShell,后者则提供了图形操作界面,权且当做是xFTP吧,xShell和xFTP是我以前在windows系统中使用的服务器连接软件,它有类似Linux的终端模拟,同时可以配合xFTP显示图形界面,后来换用Ubuntu之后,找到了SecureCRT和SecureFX用

在LaTeX中利用preview宏包和tikz宏包生成单图pdf

有时候我们利用tikz宏包画出的图片后,只想生成一个单图pdf,而且pdf的页面大小与图片相同,以便于以后再次用latex插入. 可以与preview宏包进行搭配,页面大小由图像大小决定,可以通过改变\PreviewBorder的值来改变页边界的空白大小. 效果如下: 代码如下: 1 \documentclass{beamer} 2 \usepackage{tikz} 3 \usetikzlibrary{arrows,snakes,backgrounds} 4 \usepackage[activ

在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地址:https://github.com/aliyun/aliyun-oss-php-sdk 2.复制aliyun-oss-php-sdk-master\src\OSS至passport.hmwis.com\ThinkPHP\Library\Vendor\OSS,如图1.2 复制aliyun-os

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

作者:阿里云用户 supechina Laravel 是我最近用得非常多而且越用就越喜欢的一款PHP框架,由于没有向下兼容的历史包袱,完全面向对象的风格,借助 Facades 优雅的 IoC Container 实现,采用 Composer 进行包管理,可以方便地引入和使用开源社区里的优秀组件……总而言之,这是一款真正让你能够 "code happy" 的“巨匠级PHP开发框架”. 在尝试把自己的 Laravel App 部署到阿里云的时候,遇到了一个问题: Laravel 支持 Me

在Servlet中利用Apache开源类库实现文件上传

本文结合具体的范例,介绍如何通过Apache开源类库提供的软件包,在Servlet中进行文件上传.本文的参考书籍是<Tomcat与Java Web开发技术详解>第三版,作者:孙卫琴. 本文所用的软件版本为:Window10,JDK10,Tomcat9.本文所涉及的源代码的下载网址为:http://www.javathinker.net/javaweb/upload-app.rar Apache开源软件组织提供了与文件上传有关的两个软件包:? fileupload软件包(commons-file

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

用maven也大几年了,也一直在用阿里云的中央仓库. 不喜欢在maven的settings.xml里改,更喜欢直接在pom.xml里改,因为受git管理,小伙伴们拉下来即可. 然而网上的大部分技术文章都只会指导你这么配置: <repositories> <repository> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> <relea

zabbix利用阿里云短信服务添加短信报警

注册阿里云,在短信服务里申请短信签名 签名名称会在脚本中用到. 申请短信模板 模板CODE会在脚本中用到,模板内容要添加参数,即zabbix传来的报警内容. 创建AccessKey 使用阿里云api需要访问秘钥,在访问控制页面-->用户管理-->新建用户 第一次生成AccessKey时会给你密码,AccessKey ID和密码脚本里会用到. 编写报警脚本 # vim /usr/lib/zabbix/alertscripts/sendSMS.py #!/usr/bin/env python2 #

在Foxmail中添加阿里云企业邮箱账号

1.安装完成Foxmail之后,新建账号 输入阿里云邮箱地址和密码,点击创建 接受服务器类型你可以选择POP3或者IMAP,在这里我选择的是POP3 点击创建,大功告成. 为什么要写这篇文章呢? 因为我用的是企业邮箱,在创建账号的时候不知道POP服务器地址和SMTP服务器地址是多少? 网上什么都有,经过一番查找,终于找到了 首先登陆阿里云企业邮箱->点击右上角帮助中心->电脑客户端设置 .就回出现 企业邮箱的POP3.SMTP.IMAP地址是什么? 具体内容如下: 企业邮箱的POP3.SMTP