zoukankan      html  css  js  c++  java
  • SSH返回Json格式的数据

      在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了。在这里以简单的Demo总结两种ssh返回Json格式的数据

    项目目录如下

     

    主要是看 上图选择的部分 WebRoot里面就是平常的配置

    第一种方法是使用com.google.gson.Gson 将对象转化为Json字符串  (gson-1.6.jar) 主要的代码如下

     1 package com.javen.tool;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.http.HttpServletResponse;
     7 
     8 import com.google.gson.Gson;
     9 
    10 public class ResultUtils {
    11     public static void toJson(HttpServletResponse response, Object data) 
    12         throws IOException {
    13         Gson gson = new Gson();
    14         String result = gson.toJson(data);
    15         response.setContentType("text/json; charset=utf-8");
    16         response.setHeader("Cache-Control", "no-cache"); //取消浏览器缓存
    17         PrintWriter out = response.getWriter();
    18         out.print(result);
    19         out.flush();
    20         out.close();
    21     }
    22 
    23   
    24 }

    在Action中我们直接将返回的数据封装成Map对象即可 再使用上面的工具类即可 

     1 public String execute() {
     2         Map<String, Object> map = new HashMap<String, Object>();
     3         String status = null;
     4         try {
     5             System.out.println(name + "" + pass);
     6             if (!Tools.isEmpty(name) && !Tools.isEmpty(pass)) {
     7                 User user = new User();
     8                 user.setName(name);
     9                 user.setPassword(pass);
    10                 List<User> list = userHander.getUserDAO().findByExample(user);
    11                 System.out.println(list.size());
    12                 if (list.size() > 0) {
    13                     status = "1";
    14                     map.put("users", list);
    15                 } else {
    16                     status = "null";
    17                 }
    18             } else {
    19                 status = "0";
    20             }
    21             map.put("status", status);
    22             ResultUtils.toJson(ServletActionContext.getResponse(), map);
    23         } catch (IOException e) {
    24             // TODO Auto-generated catch block
    25             e.printStackTrace();
    26         }
    27         return null;
    28     }

      struts 配置如下 

    1 <package name="default" extends="struts-default"  namespace="/">
    2         <global-results>
    3             <result name="error">/Error.jsp</result>
    4         </global-results>
    5         
    6         <action name="userAction" class="userAction">
    7         </action>    
    8 </package>

    通过浏览器访问返回的数据如下(http://127.0.0.1:8080/DataJson/userAction?name=javen&pass=123)

     

    第一种方法是使用Struts配置实现 将对象转化为Json字符串   主要的代码如下

    1、private Map<String, Object> jsonResult; 将声明的对象封装生成get和set方法

    2、封装查询的数据到Map集合中 代码如下

     1 public String userToJson(){
     2         Map<String, Object> map = new HashMap<String, Object>();
     3         String status = null;
     4         try {
     5             System.out.println(name + "" + pass);
     6             if (!Tools.isEmpty(name) && !Tools.isEmpty(pass)){
     7                 User user = new User();
     8                 user.setName(name);
     9                 user.setPassword(pass);
    10                 List<User> list = userHander.getUserDAO().findByExample(user);
    11                 System.out.println(list.size());
    12                 if (list.size() > 0) {
    13                     status = "1";
    14                     map.put("users", list);
    15                 } else {
    16                     status = "null";
    17                 }
    18             } else {
    19                 status = "0";
    20             }
    21             map.put("status", status);
    22             jsonResult=map;
    23             return "success";
    24         } catch (Exception e) {
    25             // TODO Auto-generated catch block
    26             e.printStackTrace();
    27         }
    28         return null;
    29     }

    3、配置struts  (注意要extends >>>json-default

    <!-- 使用struts2  配置来实现 返回Json数据 -->
        <package name="json" extends="struts-default,json-default"  namespace="/">
            <global-results>
                <result name="error">/Error.jsp</result>
            </global-results>
            <action name="userjson" class="userAction" method="userToJson"> 
                <result type="json" >  
                       <param name="root">jsonResult</param>  
                </result>  
            </action>
            
        </package>

     通过浏览器访问返回的数据如下 

    源码下载地址 http://download.csdn.net/detail/zyw_java/7101821

  • 相关阅读:
    httpclient5:信任所有证书,调用公众号接口
    驾驶技能考试系统:常见故障原因分析及排除
    C#:Combox实现key,value
    C#:密码框的两种方式
    C#:动态添加或删除控件,并根据控件名称获得控件
    微服务设计模式
    微服务设计模式
    微服务设计模式
    微服务设计模式
    微服务设计模式
  • 原文地址:https://www.cnblogs.com/zyw-205520/p/3665240.html
Copyright © 2011-2022 走看看