Android 网络编程---STRUTS2,JSON,HttpClient

在Android开发过程中,我们需要访问网络上的Web资源,比如网络上的WEB请求。在这里Android就好像是一个终端,可以用来接收Web服务器端发送过来的数据。下面我以Struts2作为Web服务器端的Web框架。来说明Android客户端接收Web请求的过程。

首先,我们要配置Web服务器端,添加Struts2所需要的JAR包(包括JSON包)

下面是服务器端所要配置的JAR包,如下所示:

Android 网络编程---STRUTS2,JSON,HttpClient

我们看看json包,有如下: json-lib-**.jdk15.jar,struts2-json-plugin-***.jar,ezmorph-**.jar

接下配置web.xml文件,代码如下所示:

  1. <!-- 定义Struts2的核心控制器:FilterDispatcher -->  
  2.   <filter>  
  3.      <!-- 定义核心Filter的名称 -->  
  4.      <filter-name>struts2</filter-name>  
  5.      <!-- 定义Filter的实现类 -->  
  6.      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  7.   </filter>  
  8.      
  9.   <filter-mapping>  
  10.      <filter-name>struts2</filter-name>  
  11.      <url-pattern>/*</url-pattern>  
  12.   </filter-mapping>  

添加完JAR包后。我们来配置一下struts.xml文件,这个文件存放在src根目录下面,代码如下所示:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC   
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6.     <!-- setting encoding,DynamicMethod,language   
  7.         <constant name="struts.custom.i18n.resources" value="messageResource"></constant>  
  8.     -->  
  9.     <constant name="struts.i18n.encoding" value="UTF-8"></constant>  
  10.     <constant name="struts.enable.DynamicMethodInvocation"  
  11.         value="true">  
  12.     </constant>  
  13. <!--    
  14.     truts.enable.DynamicMethodInvocation = true,-动态方法调用,   
  15.     为true时,就可以在struts.xml配置“*”的通配符,来调用action里的方法   
  16.  -->  
  17.     <!-- add package here extends="struts-default"-->  
  18.     <package name="dongzi" extends="json-default"><!--需要将struts-default改为json-default-->  
  19.         <!-- setting action -->  
  20.         <action name="login" class="com.dongzi.action.LoginAction"  
  21.             method="login">  
  22.             <result type="json"></result>  
  23.             <!--返回值类型设置为json,不设置返回页面-->  
  24.         </action>  
  25.     </package>  
  26. </struts>  

看看这个action

    <action name="login" class="com.dongzi.action.LoginAction"
            method="login">
            <result type="json"></result>
            <!--返回值类型设置为json,不设置返回页面-->
        </action>

相关推荐