在Android开发过程中,我们需要访问网络上的Web资源,比如网络上的WEB请求。在这里Android就好像是一个终端,可以用来接收Web服务器端发送过来的数据。下面我以Struts2作为Web服务器端的Web框架。来说明Android客户端接收Web请求的过程。
首先,我们要配置Web服务器端,添加Struts2所需要的JAR包(包括JSON包)
下面是服务器端所要配置的JAR包,如下所示:
我们看看json包,有如下: json-lib-**.jdk15.jar,struts2-json-plugin-***.jar,ezmorph-**.jar
接下配置web.xml文件,代码如下所示:
-
- <filter>
-
- <filter-name>struts2</filter-name>
-
- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
添加完JAR包后。我们来配置一下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>
- <!-- setting encoding,DynamicMethod,language
- <constant name="struts.custom.i18n.resources" value="messageResource"></constant>
- -->
- <constant name="struts.i18n.encoding" value="UTF-8"></constant>
- <constant name="struts.enable.DynamicMethodInvocation"
- value="true">
- </constant>
- <!--
- truts.enable.DynamicMethodInvocation = true,-动态方法调用,
- 为true时,就可以在struts.xml配置“*”的通配符,来调用action里的方法
- -->
-
- <package name="dongzi" extends="json-default">
-
- <action name="login" class="com.dongzi.action.LoginAction"
- method="login">
- <result type="json"></result>
-
- </action>
- </package>
- </struts>
看看这个action
<action name="login" class="com.dongzi.action.LoginAction"
method="login">
<result type="json"></result>
<!--返回值类型设置为json,不设置返回页面-->
</action>