在Servlet中使用JSON

在Servlet中使用JSON,和上篇的使用相同,只不过多了配置web.xml的内容

servlet代码如下:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

public class JSONServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public JSONServlet() {
        super();
    }

    public void destroy() {
        super.destroy();
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //使用JSONArray测试
        JSONArray jsonArray = new JSONArray();
        jsonArray.add("MCA");
        jsonArray.add("kevin");
        jsonArray.add("15-12-1998");
        jsonArray.add(new Double(12.3));
        List<String> list = new ArrayList<String>();
        list.add("a collection added");
        list.add("kevin collection test");
        jsonArray.addAll(list);

        //页面输出JSONArray的内容
        PrintWriter out = response.getWriter();
        out.print(jsonArray);
        out.println("======================================");
        for(int i=0;i<jsonArray.size();i++){
            out.print(jsonArray.getString(i));
        }
    }

    public void init() throws ServletException {
    }
}

配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>JSONServlet</servlet-name>
    <servlet-class>com.justinmobile.JSONServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>JSONServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

访问页面

http://localhost:8080/Ext/test.do

我们得到输出结果:

["MCA","kevin","15-12-1998",12.3,"a collection added","kevin collection test"]====================================== MCAkevin15-12-199812.3a collection addedkevin collection test
时间: 2024-10-13 06:20:52

在Servlet中使用JSON的相关文章

struts2、servlet中返回json数据格式

json数据格式在现在的web开发中应用的是非常多的,基本上现在都用json在前后传数据.那么在struts和servlet中这么返回json格式呢?JSON数据在传递过程中,其实就是传递一个普通的符合JSON语法格式的字符串而已,所谓的"JSON对象"是指对这个JSON字符串解析和包装后的结果,所以我们要做的就是构造一个满足JSON格式的字符串就好了,这是原理切记切记啊,下面我已代码的方式演示几种方法. 需求:我们从前端输入用户名+密码,后端以json格式返回用户名+密码,前端ale

Servlet中生成json文件,echarts模板调用

在echarts官网中下载的模板数据都是固定的,而我的项目需要数据是动态改变的,所以我试了很多方法来解决这个问题,其中成功的一种方法是在Servlet中先生成json数据格式,之后再把内容写到一个json文件中,在HTML中在调用这个json文件就可以了. 先生成json数据格式 JSONObject q1 = new JSONObject(); JSONObject q2 = new JSONObject(); JSONObject q3 = new JSONObject(); JSONObj

Servlet及前端JSP中的JSON简单传递

在后台servlet中,若需要将json传至前台,可以将json字符串通过request的setAttribute方法进行传值,通过转发交接给JSP页面(其实,在tomcat等容器中,除了转换和编译阶段,servlet跟JSP区别也不是太大),测试代码如下: 1 request.setAttribute("jsonstr", respMessage); 2 request.getRequestDispatcher("/WEB-INF/jsp/showPhotos.jsp&qu

servlet中resultset转化为json (java)

最近在做Android从服务端拉取数据,采用doget方式向服务器请求数据.服务端经过Sql查询后得到的ResultSet结果集以json的形式返回.所以重点解决一下数据集是如何封装成json,以及在客户端又是如何把返回的json数据流重组成原数据 开始之前先大概说一下json的一些东西: json格式其实质可看成一个字符串流,只不过它带有json特有的格式:  [{},{},{}...,{}],中括号[]代表的是jsonarray,而其中的花括号{}代表的是jsonobject,json格式的

jsonp跨域访问servlet接口获取json数组,并且渲染数据,前后端完整

啊哈哈哈哈哈哈哈哈哈哈哈我太激动了~ 其实这个工作我一直在拖延啊,就觉得哇,好难啊,不想做欸= = 然后硬着头皮研究了一整个下午+晚上终于搞清楚了~~~~哇哈哈哈哈~~~好神奇哈哈哈哈哈~~~(疯了吧!) json.jsonp.jQuery Ajax这些东西说定义我也不是特别研究,只懂个大概,就不去复制百科了,没意思. 一.先说我要做的事情的需求,上来就撸代码估计很多人懵逼(就像今天下午的我一样- -||) 意图:本地服务端servlet生成json数据,我想在前端获取json数据并渲染成列表显

Android客户端和Servlet服务器端通过JSON交互

本文结构如下: 1. android和servlet之间的直接信息传递(不通过json) 1.1 android端代码 1.2 servlet端代码 2. android和servlet之间通过json进行交互 2.1 android端代码 2.2 servlet端代码 ============================================================= 1. android和servlet之间的直接信息传递 在android端通过httpclient去访问

jsp的C标签一般使用方法以及js接收servlet中的对象及对象数字

jsp的C标签一般使用方法以及js接收servlet中的对象及对象数组 由于现流行的javaWeb框架提倡前后端分离,比如在SpringMvc中已经很少写servlet的一些东西:目前 前端jsp中大多是一些纯html和js,很少用到jstl的一堆东西,后端也仅仅处理一些前端的post.get请求或页面跳转,无须以往繁琐的xml路径映射和filter过滤. 不过有时也会用到servlet作用域中的一些东西,比如某个固定的值.上下文路径等等~,不过这些东西大多数也仅限于取值而不是设置值(或对象),

JAVA中使用JSON进行数据传递

在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据. 首先,在JAVA中使用JSON需要引入 org.json 包(点击 这里 可以下载相应的JAR包!), 并在程序中引入相应的JSON类: import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; 其

详解Jquery和AngularJs,Servlet中jsonp解决跨域问题(转)

众所周知,jsonp可以解决跨域问题,下面是我在查阅资料和实际项目使用后的一些总结. Jquery中jsonp的使用 //myUrl = "http://localhost:8090/api/test"; $.ajax({ type:"GET", url:myUrl, dataType:"jsonp", jsonp:"callback", jsonpCallback:"jsonpCallback", suc