在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可是真不省心啊!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值