这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。
那么,接下来我们便开始这一路程:
首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。
服务器端:新建WebProject ,选择Java ee 5.0.
为了给项目添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可(有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去):
1: xwork-core-2.2.1.1.jar
2: struts2-core-2.2.1.1.jar
3: commons-logging-1.0.4.jar
4: freemarker-2.3.16.jar
5: ognl-3.0.jar
6: javassist-3.7.ga.jar
7:commons-ileupload.jar
8:commons-io.jar
9:json-lib-2.1-jdk15.jar 处理JSON格式数据要使用到
10:struts2-json-plugin-2.2.1.1.jar基于struts2的json插件
以上的jar包,需要放在WebRoot/WEB-INF/lib目录下
然后在web.xml文件中敲下:
View Code
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 定义Struts2的核心控制器:FilterDispatcher -->
<filter>
<!-- 定义核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!-- 定义Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
然后编写struts.xml文件,并放在WebRoot/WEB-INF/lib目录下:如下代码:
View Code
<?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>
<!-- add package here extends="struts-default"-->
<package name="dongzi" extends="json-default"><!--需要将struts-default改为json-default-->
<!-- setting action -->
<action name="login" class="com.dongzi.action.loginAction" method="login">
<result type="json"></result><!--返回值类型设置为json,不设置返回页面-->
</action>
</package>
</struts>
配置好后,我们再根据<action>标签内容来编写action。方法为method对应的login,类名为loginAction,
注意:包继承为:json-default ,输出结果类型为json
如下:
View Code
public class loginAction extends ActionSupport implements
ServletRequestAware,ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L
HttpServletRequest request
HttpServletResponse response
public void setServletRequest(HttpServletRequest request) {
this.request=request
}
public void setServletResponse(HttpServletResponse response) {
this.response=response
}
public void login(){
try {
//HttpServletRequest request =ServletActionContext.getRequest()
// HttpServletResponse response=ServletActionContext.getResponse()
this.response.setContentType("text/htmlcharset=utf-8")
this.response.setCharacterEncoding("UTF-8")
if(this.request.getParameter("username").equals("123456")){
this.response.getWriter().write("真的很奇怪,日本人!")
}else if(this.request.getParameter("username").equals("zhd")){
this.response.getWriter().write("没有错,我就是东子哥!")
}else{
this.response.getWriter().write("我就是东子哥!")
}
//将要返回的实体对象进行json处理
// JSONObject json=JSONObject.fromObject(this.getUsername())
//输出格式如:{"id":1, "username":"zhangsan", "pwd":"123"}
// System.out.println(json)
// this.response.getWriter().write(json.toString())
/**
JSONObject json=new JSONObject()
json.put("login", "login")
response.setContentType("text/htmlcharset=utf-8")
System.out.println(json)
byte[] jsonBytes = json.toString().getBytes("utf-8")
response.setContentLength(jsonBytes.length)
response.getOutputStream().write(jsonBytes)
**/
/**
JSONObject json=new JSONObject()
json.put("login", "login")
byte[] jsonBytes = json.toString().getBytes("utf-8")
response.setContentType("text/htmlcharset=utf-8")
response.setContentLength(jsonBytes.length)
response.getOutputStream().write(jsonBytes)
response.getOutputStream().flush()
response.getOutputStream().close()
**/
} catch (Exception e) {
e.printStackTrace()
}
// return null
}
}
方法一、通过修改网络DNS来解决问题1、一般情况下,苹果手机连接的无线网络也是正常的,但就是不能在 App Store 更新应用软件。对于这样的情况,可以先从网络的 DNS 上入手。DNS 中文叫做域名解析服务,具体就是把网站解析成与之对应的 IP 地址。比如要在苹果手机上访问 App Store 页面的话,就必须要经过 DNS 的解析服务,才能到达。
2、接下来请先打开主屏上的【设置】应用,
3、在设置列表里,请点击【无线局域网】一栏,
4、随后在无线局域网列表中,请点击当前已经连接上的无线网络右侧的【信息】图标,
5、接下来在这里可以看到当前获取到的无线网络 IP 配置信息,先点击 DNS 一栏,然后删除原来的内容。一般情况下,建议这里修改的 DNS 地址为114.114.114.114 这个,另外还有一个8.8.8.8作为备用地址。
6、当设置好了以后,回到主屏,重新打开 App Store 应用商店,看看是否可以正常更新了。如果还是不行的话,此时还可以尝试重新启动一下设备。
方法二、通过还原网络设置来解决
1、如果上面介绍的通过修改DNS服务器地址不管用的话,接下来还可以尝试对系统的网络设置进行还原。同样地在设置列表下,找到【通用】一栏,点击进入。
2、接着在通用列表的底部有【还原】选项,
3、在还原功能列表中,有多个还原选项,此时只需要点击【还原网络设置】一栏,然后根据提示操作就可以了。这项还原网络设置的操作,不会导致设备上的任何数据丢失。当还原成功以后,重新连接无线网络,再尝试去 App Store 里更新即可。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)