栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

在Java的JSP中返回JSON格式数据

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java的JSP中返回JSON格式数据

  下午试了一下JSP访问MS SQL Server 2014数据库的表数据,还挺顺利的。

  下班后就想再试一下在JSP返回JSON格式的数据,因为只有这样,Java才能单纯地只做后台数据处理,就和其他后台处理的语言一样。

  PHP挺简单,什么都不用,一句话就搞定,想着Java也肯定一样,可以很快搞定。

  找了一下资料,写了代码:

<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" language="java" errorPage="error.jsp" %>
<%--  JSP访问MS SQL Server 2014数据返回JSON格式数据 --%>
<%
    System.out.println("JSP访问MS SQL Server 2014数据返回JSON格式数据");
%>
<%@ page import="java.sql.*" %>

<%@ page import="java.io.IOException" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="java.util.ArrayList" %>

<%@ page import="org.json.JSONArray" %>
<%@ page import="org.json.JSONException" %>
<%@ page import="org.json.JSONObject" %>

<%
    String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String url="jdbc:sqlserver://XX.XX.XX.XX:1433;DataBase=YY";
    String username="sa";
    String password="CCC";
    Connection DBConn;

    Class.forName(driverName);
    DBConn=DriverManager.getConnection(url,username,password);
    Statement stmt=DBConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String StrSql="select * from ABC";
    ResultSet rs=stmt.executeQuery(StrSql);

    JSONArray ReturnJson=new JSONArray();

    while( rs.next() ){
        JSONObject JsonTmp=new JSONObject();
        JsonTmp.put("c01",rs.getString(1));
        JsonTmp.put("c02",rs.getString(2));
        JsonTmp.put("c03",rs.getString(3));
        JsonTmp.put("c04",rs.getString(4));
        JsonTmp.put("c05",rs.getString(5));
        ReturnJson.put(JsonTmp);
    }

    response.setContentType("text/json; charset=UTF-8");
    PrintWriter JSPReturn=response.getWriter();
    JSPReturn.write(ReturnJson.toString());

    rs.close();
    stmt.close();
    DBConn.close();
%>

  运行。

  提示错误:

Only a type can be imported. org.json.JSONArray resolves to a package
JSONArray cannot be resolved to a type

  编辑器使用的是IDEA社区版,不支持JavaWeb,也没有语法提示。

  是不是与编辑器的编译有关呢?

  查了一下,全局和项目我都做了库关联,就是在lib目录下放了JSON.jar。

  上面的提示就是没有找到包,没有办法解释JSONArray这个数据类型。

  会不会是包的问题或者大小写的问题?打开包:

   都是对的。

  开始在网上搜索,折腾了快半个小时没有结果,没有找到解决办法,可能就是与编辑器有关。

  算了,不折腾了,就直接启动Tomcat,因为Tomcat的lib下我放了JSON.jar,这样可以最直接地找到问题所在。

  启动Tomcat,在浏览器里查看,数据出来了,正确返回了JSON格式数据!

  Java可是真不省心啊!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号