首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

原创:struts2+json+android调整开发解析前奏

2012-07-01 
原创:struts2+json+android整合开发解析前奏很长时间没有写bolg,自己也没有坚持下去,我真得不敢想象自己在

原创:struts2+json+android整合开发解析前奏

很长时间没有写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() */@Overridepublic 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() */@Overridepublic 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;// 定义业务操作beanprivate 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" 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" 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
高手!!

热点排行