`
czq5783095
  • 浏览: 48739 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

J2EE项目中使用Json格式数据

阅读更多
在java中使用json,一共需要引入6个包:
1.json-lib-2.4-jdk15.jar(json包,必须导入)
2.commons-lang 2.5(依赖包,必须导入)
3.commons-beanutils 1.8.0(依赖包,必须导入)
4.commons-collections 3.2.1(依赖包,必须导入)
5.commons-logging 1.1.1(依赖包,必须导入)
6.ezmorph 1.0.6(依赖包,必须导入)
Demo流程:
点击index.jsp页面的"json测试按钮",经jquery调用getJson ajax请求处理到JsonServlet,servlet中调用DeptDAO方法查询dept表中的所有数据,并返回list,在将list封装成json格式数据,最后callback,并在index.jsp页面的相应div中显示数据.
主要代码如下:
1.index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script type="text/javascript" src="jquery_lib/jquery-1.6.2.min.js"></script>
	<script type="text/javascript">
		function jsonTest(){
			$.getJSON("<%=request.getContextPath()%>/servlet/JsonServlet",null,callback);
			function callback(data){
				var resultObj = $("#result");
				var showTable="<table>";
				for(i=0;i<data.length;i++){
					showTable+="<tr><td>"+data[i].deptno+"</td>";
					showTable+="<td>"+data[i].dname+"</td>";
					showTable+="<td>"+data[i].loc+"</td></tr>";
				}
				showTable+="</table>";
				resultObj.html(showTable);
			}
		}
	</script>
  </head>
  
  <body>
    <input type="button" value="json测试" onclick="jsonTest()">
    <div id="result"></div>
  </body>
</html>

2.Dept.java(实体类)
package com.czq.entitiy;

public class Dept {
	private String deptno;
	private String dname;
	private String loc;
	public String getDeptno() {
		return deptno;
	}
	public void setDeptno(String deptno) {
		this.deptno = deptno;
	}
	public String getDname() {
		return dname;
	}
	public void setDname(String dname) {
		this.dname = dname;
	}
	public String getLoc() {
		return loc;
	}
	public void setLoc(String loc) {
		this.loc = loc;
	}
	
}

3.JsonServlet.java
package com.czq.servlet;

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

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

import net.sf.json.JSONArray;

import com.czq.dao.DeptDAO;
import com.czq.entitiy.Dept;

public class JsonServlet extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		DeptDAO deptDAO=new DeptDAO();
		ArrayList<Dept> deptList=deptDAO.findAll();
		PrintWriter printWriter=response.getWriter();
		JSONArray jsonArray=JSONArray.fromObject(deptList);
		printWriter.print(jsonArray);
		printWriter.flush();
		printWriter.close();
	}

}

4.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>JsonServlet</servlet-name>
    <servlet-class>com.czq.servlet.JsonServlet</servlet-class>
  </servlet>

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

5.DBHelp.java(数据库工具类)
package com.czq.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBHelp {
	private static final String url="jdbc:oracle:thin:@localhost:1521:orcl";
	private static final String driver="oracle.jdbc.driver.OracleDriver";
	private static final String userName="scott";
	private static final String userPassWord="tiger";
	
	public static Connection getConnection(){
		try {
			Class.forName(driver);
			Connection connection=DriverManager.getConnection(url, userName, userPassWord);
			if (null!=connection) {
				return connection;
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	public static void closeResultSet(ResultSet resultSet) {
		if (null!=resultSet) {
			try {
				resultSet.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	public static void closeStatement(Statement statement) {
		if (null!=statement) {
			try {
				statement.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	public static void closeConnection(Connection connection) {
		if (null!=connection) {
			try {
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		DBHelp.getConnection();
	}
}

最后附上源码
分享到:
评论

相关推荐

    j2ee22:json

    描述中提到的“NULL 博文链接:https://1601844782.iteye.com/blog/2275627”表明有一个相关的博客文章,尽管实际链接无法在这里访问,但我们可以推测该博客可能提供了关于如何在J2EE项目中使用JSON的实例或指南,...

    J2EE中JSON+Jquery_ajax应用

    在J2EE中的JSON+Jquery_AJAX应用中,Jquery的AJAX功能尤其关键,因为它允许我们在不刷新整个页面的情况下与服务器进行通信,通过JSON数据格式传递和接收数据。 Struts2是一个基于MVC设计模式的Java web框架,提供了...

    J2EE中JSON+Jquery_AJAX应用[定义].pdf

    - **Jquery_AJAX的回调函数**:成功获取数据后,通常会在success回调函数中处理数据,比如将JSON数据插入到DOM元素中,更新页面内容。 - **错误处理**:同时,还需要处理可能出现的错误,如网络问题或服务器响应...

    J2EE项目实例源码

    在J2EE应用中,这通常涉及创建对应的Controller层,处理HTTP请求,调用Service层的方法来执行业务逻辑,最后通过ModelAndView或者直接返回JSON数据更新视图。对于“添加”操作,可能需要一个表单来收集用户输入,...

    J2EE项目案例源代码

    1. **Web层**:在J2EE项目中,Web层通常由Servlets、JSP(JavaServer Pages)和JSF(JavaServer Faces)等技术构成。Servlets是服务器端的Java小程序,用于处理HTTP请求;JSP允许开发者用HTML、CSS和Java脚本混合...

    J2EE中JSON+Jquery_AJAX应用.pdf

    JSON+jQuery AJAX 在 J2EE 项目中的应用是现代 Web 开发中常见的一种技术组合,主要用来实现页面的动态加载和表单内容的异步提交,以提高用户体验和交互性能。下面将详细介绍这一技术的各个关键点。 1. **概述** ...

    J2EE中JSON+Jquery_AJAX应用(1)

    在POST请求中,可以通过`data`参数传递JSON数据到服务器。 在实际应用中,J2EE开发者需要根据项目需求选择合适的JSON库,如Gson、Jackson或FastJSON,并结合JQuery_AJAX的API,实现与后端服务的高效通信。此外,...

    J2EE项目开发常用的jar包

    下面我们将详细探讨一些常见的J2EE项目中使用的jar包及其作用。 1. **Servlet API**:servlet-api.jar是处理HTTP请求的核心库,它定义了Servlet和Filter的接口,使得开发者可以编写服务器端的Java代码来处理客户端...

    在j2ee项目开发中经常用到的小组件

    在J2EE项目开发中,小组件的使用是提高效率和增强用户体验的关键因素。这些小组件通常是预先封装好的功能模块,可以快速集成到应用程序中,为开发者提供便利。本篇文章将详细探讨“JS-charts”这个图表组件在J2EE...

    json.me.jar

    json-j2me-j2ee.pdf"指出了这个库的用途,即用于J2ME平台的JSON处理,并且提供了一份PDF文档——"json-j2me-j2ee.pdf",这可能是该库的用户指南或技术文档,详细介绍了如何在J2ME和J2EE环境中使用JSON进行数据通信。...

    J2EE项目--都市供求信息网(代码+数据库)

    项目可能还涉及JSON或XML等数据交换格式,用于前后端的数据传输。同时,为了保证用户信息安全,项目需要实现登录验证、数据加密等安全机制,防止未授权访问和数据泄露。 综上,《都市供求信息网》项目展示了J2EE...

    eclipse开发J2EE项目系列(1)——Struts2框架搭建

    在本教程中,我们将深入探讨...通过学习这个教程,你应该对如何在Eclipse中使用Struts2框架开发J2EE项目有了初步的理解。随着你进一步探索,可以尝试添加更多的功能,如表单验证、国际化、Ajax支持等,以增强你的应用。

    《j2ee专业项目实例开发》源代码

    使用JPA(Java Persistence API)进行数据访问操作,同时可能采用JWT(JSON Web Tokens)进行用户身份验证,确保安全性。为了处理并发事务,可能应用了ACID原则(原子性、一致性、隔离性和持久性)和锁机制。 3、...

    JAVA中用到的json包

    在Java编程语言以及基于J2EE的企业级应用开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式。它易于人阅读和编写,同时也容易让机器解析和生成。JSON包在Java中扮演着至关重要的角色,...

    J2EE项目代码编写规范.zip

    在J2EE(Java 2 Platform, Enterprise Edition)开发中,代码编写规范是确保...这份规范文档详细阐述了J2EE项目开发中的各项最佳实践,通过遵循这些规范,可以提高代码质量,降低维护成本,并促进团队间的有效沟通。

    j2ee oa 项目开发日记

    在项目开发中,开发者可能需要利用EJB来实现业务逻辑,通过Servlet和JSP进行用户界面的交互,使用JDBC或JPA进行数据库操作,利用JMS实现异步通信,以及使用XML或者JSON进行数据交换。 开发过程中,需求分析是非常...

    J2EE仿天猫整站Tmall

    J2EE项目通常需要与数据库进行交互,如MySQL、Oracle或SQL Server等。JDBC(Java Database Connectivity)是Java连接数据库的标准API,项目中可能使用了它来执行SQL查询,进行数据的增删改查操作。ORM(Object-...

    J2ee整合flex3项目

    1. **数据交换格式**: J2EE与Flex之间的通信通常依赖于HTTP协议,使用AMF(Action Message Format)或XML/JSON作为数据交换格式。AMF是Adobe提供的二进制格式,具有更高的传输效率和更快的解析速度,适合大数据量的...

    j2ee经典项目各技术经典处理

    3. **JDBC与数据库交互**:在J2EE项目中,数据库操作是常见任务。JDBC(Java Database Connectivity)是Java与数据库交互的标准接口,包括连接管理、SQL执行、结果集处理等。事务处理、预编译语句...

Global site tag (gtag.js) - Google Analytics