很长时间没有写bolg,自己也没有坚持下去,我真得不敢想象自己在前两个月是怎么走来的,从早到晚不停的授课,自己累得够呛!但是欣慰的时,我带的河软csdn乐知学院Java的40多名学员都就业了,都进入了企业工作,为他们有今天的成果,而感到骄傲,在这里我也真诚的祝福他们,能够在企业的大环境下,成长的更快!
呵呵说了那么多,那好好的谈谈下面主要介绍的内容吧,今天我给大家带来的是android2.2+struts2+json的开发过程,此案例为在android客户端显示最新的商品信息为例,重点介绍json的解析过程。
首先我们来开发服务器端程序,此案例采用eclipse开发工具
首先create a Dynamic web project项目,在Dynamic Web Project界面中配置Target runtime 及 Dynamic web module version (此版本案例选择的为2.5),点击完成即可。
、搭建struts2的开发环境,引入以下类库文件,
struts2-json-plugin-2.1.8.1.jar
json-lib-2.1.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
ezmorph-1.0.3.jar
这7个包是返回json形式的数据必须的。因为json大量引用了Apache commons的包,所以要加入4个,commons包,除了commons的包外,还需要引入一个 ezmorph的包。最后加入struts2必须的6个包:
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
ognl-2.7.3.jar
freemarker-2.3.15.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
修改web.xml及添加struts.xml文件()
web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" 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">
<display-name>Struts Blank</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
struts.xml位于src目录内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
</struts>
创建相应的实体bean,业务层及action层
package cn.redarmy.domain;
import java.io.Serializable;
public class Good implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private float price;
//省去了.构造器 set,get方法
//service层
接口:
import java.util.List;
import cn.redarmy.domain.Good;
public interface GoodService {
public abstract List<Good> getNewsGood();
public abstract Good findGood();
}
类:
package cn.redarmy.service.impl;
import java.util.ArrayList;
import java.util.List;
import cn.redarmy.domain.Good;
import cn.redarmy.service.GoodService;
public class GoodServiceImpl implements GoodService {
/* (non-Javadoc)
* @see cn.redarmy.service.impl.GoodService#getNewsGood()
*/
@Override
public List<Good> getNewsGood() {
// 定义返回的结果集
List<Good> goods = new ArrayList<Good>();
// 在这里可以到数据库中查询最新的商品信息
goods.add(new Good(1, "苹果ipad2", 3688));
goods.add(new Good(2, "thinkPad E40 0579A12", 3799));
goods.add(new Good(3, "thinkPad", 3688));
goods.add(new Good(4, "苹果ipad2保护膜", 400));
return goods;
}
/* (non-Javadoc)
* @see cn.redarmy.service.impl.GoodService#findGood()
*/
@Override
public Good findGood() {
// 也是从数据库中查询出来的
Good good = new Good(1, "苹果ipad2", 3688);
return good;
}
}
Action:
package cn.redarmy.action;
import java.util.List;
import cn.redarmy.domain.Good;
import cn.redarmy.service.GoodService;
import cn.redarmy.service.impl.GoodServiceImpl;
import com.opensymphony.xwork2.ActionSupport;
public class GoodAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 6340167538296898588L;
// 定义业务操作bean
private GoodService goodService = new GoodServiceImpl();
// 定义返回的对象
private List<Good> goods;
private Good good;
public List<Good> getGoods() {
return goods;
}
public void setGoods(List<Good> goods) {
this.goods = goods;
}
public Good getGood() {
return good;
}
public void setGood(Good good) {
this.good = good;
}
// 查询最新商品
public String findAll() {
goods = goodService.getNewsGood();
return SUCCESS;
}
// 查询单个商品
public String findById() {
good = goodService.findGood();
return SUCCESS;
}
}
配置后的struts.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<!-- extends 继承json-default -->
<package name="default" namespace="/csdn" extends="json-default">
<action name="findGood" class="cn.redarmy.action.GoodAction"
method="findById">
<!-- 设置返回类型为json -->
<result name="success" type="json">
<param name="includeProperties">
good\.id,good\.name,good\.price
</param>
</result>
<result name="input">/WEB-INF/index.jsp</result>
</action>
<action name="listNewsGoods" class="cn.redarmy.action.GoodAction"
method="findAll">
<!-- 设置返回类型为json -->
<result name="success" type="json">
<param name="includeProperties">
goods\[\d+\]\.id,goods\[\d+\]\.name,goods\[\d+\]\.price
</param>
</result>
<result name="input">/WEB-INF/index.jsp</result>
</action>
</package>
</struts>
至此服务器端开发已经完毕,在这里我比没有真正的从数据库提取数据,而是写死得,但如果连接数据库的操作那对于你来说应该不难吧!
以上内容归redarmychen版权所有,如想转载请附带出处,如有疑问请发邮件至redarmy.chen@gmail.com
分享到:
相关推荐
Struts2、JSON和Android是三个在Web应用开发中至关重要的技术。本示例将详细介绍如何结合这三者实现一个简单的交互。 首先,Struts2是一个基于MVC(Model-View-Controller)架构的Java Web框架,它简化了创建动态、...
介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。 这是第三部分,我上传的上限是60MB,所以不得不分包额!
Struts2是一个强大的Java web开发框架,它极大地简化了基于MVC(模型-视图-控制器)架构的应用程序开发。这个资源"struts2+json"显然涉及到在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,这是一...
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 part3 李刚
《轻量级Java EE企业应用实战(第4版)》这本书深入探讨了Struts 2、Spring 4和Hibernate这三大框架的整合开发,旨在帮助读者掌握如何在实际项目中高效构建Java EE应用。SSH(Struts 2、Spring、Hibernate)是Java ...
Struts2、JSON、JQUERY和AJAX是Web开发中常用的技术栈,它们结合使用能够构建出高效、交互性强的动态网页应用。本DEMO源代码提供了这些技术的集成示例,非常适合初学者理解和实践。 **Struts2** 是一个基于MVC...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part4
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 李刚 part2
Struts2、JSON和AJAX是Web开发中的关键技术,它们的整合可以实现高效的数据交互和动态页面更新。本文将深入探讨这些技术以及如何在实际项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-Controller)设计...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 part4 李刚
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 李刚
轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发 part5 李刚
《JavaEE实用开发指南:基于Weblogic+EJB3+Struts2+Hibernate+Spring》-- part2/3
总的来说,"最新项目系统:Struts2+Spring4+Hibernate4三大框架整合"为学习和实践Java Web开发提供了一个实用的平台,对于提升开发者的技术水平和项目经验具有极大的帮助。通过深入研究和实践,开发者可以掌握Java ...
《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipseIDE开发,引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要...
ExtJs + Struts2 + JSON 是一种常见的前端与后端数据交互的技术组合,常用于构建富客户端应用。这里我们详细探讨一下这三个技术组件以及它们如何协同工作。 首先,ExtJs 是一个JavaScript库,用于创建复杂的、用户...
轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发
在Java Web开发中,SSH(Struts2、Spring3、Hibernate)是一种常见的企业级应用框架组合,它们各自承担着不同的职责,共同构建了一个强大的、灵活的后端开发平台。本实例旨在为新手提供一个轻量级的企业应用开发案例...
Java Web整合开发是构建Web应用程序的关键技术,涵盖了Java语言、Eclipse集成开发环境(IDE)、Struts 2框架以及Ajax异步JavaScript和XML技术。这个主题深入探讨了这些技术如何协同工作,创建出高效、用户友好的Web...