使用Struts2时为Android端提供数据
2016-12-01 22:52
357 查看
使用Struts2时为Android端提供数据
---ONE Goal,ONE Passion !
勉励自己:
不想过别人安排的命运,只能自己足够强大!趁年轻,不要辜负了曾经的耳语;趁年轻,不要辜负了等待自己的远方;趁年轻,不要辜负了陪着我的她;趁年轻,不要辜负了那份初心! ———勿忘初心!1. 使用简单的servlet为我们的客户端返回数据.
第一步:编写我们的servlet
public class ServletForAndroid extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String str = "{name:'ltxx',age:'20'}"; response.getWriter().write(str); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
第二步:在web.xml中配置我们的servlet
<!-- 配置servlet --> <servlet> <servlet-name>ServletForAndroid</servlet-name> <servlet-class>zz.itcast.servlet.ServletForAndroid</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletForAndroid</servlet-name> <url-pattern>/ServletForAndroid</url-pattern> </servlet-mapping>
第三步:直接去访问我们的servlet就行了
2.使用Struts2时为我们的客户端返回数据.
第一步:配置使用Struts2的相关jar包
第二步:在web.xml中配置核心过滤器
web.xml中<!-- 配置struts2的核心过滤器 --> <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>
第三步:编写我们的action
public class ActionForAndroid extends ActionSupport { private HttpServletResponse response; @Override public String execute() throws Exception { return super.execute(); } // 方法中的response 对象不可以使用setServletResponse(HttpServletResponse response)中的对象,因为执行getJson时,setServletXXXX方法还没有执行 public void getJson() throws Exception { HttpServletResponse response = ServletActionContext.getResponse(); String str = "{name:'ltxx',age:'20'}"; response.getWriter().write(str); } /*public void setServletRequest(HttpServletRequest arg0) { } public void setServletResponse(HttpServletResponse response) { System.out.println("--设置response--"); this.response = response; }*/ }
注意:
getJson()方法中的response对象不可以使用setServletResponse(HttpServletResponse response)中的对象,因为执行getJson时,setServletXXXX方法还没有执行.
第四步:将action配置到Struts.xml中
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.ui.theme" value="simple"></constant> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <!-- Add packages here --> <package name="android" extends="json-default"> <!-- <result-types> <result-type name="json" class="org.apache.struts2.json.JSONResult" /> </result-types> --> <action name="android" class="action.ActionForAndroid" method="getJson"> <result type="json"></result> </action> </package> </struts>
特别注意:
如果想直接返回json字符串.那么result必须返回的是json.
如果返回json必须重新做一下配置:
1.让我们的package继承至json-default
<package name="android" extends="json-default">
2.或者在package中声明result-types.
<result-types> <result-type name="json" class="org.apache.struts2.json.JSONResult" /> </result-types>
预警:千万不要忘记导入一个jar包
struts2-json-plugin-2.3.15.3.jar第五步:可以访问了啊!
{name:'ltxx',age:'20'}
Fighting…
相关文章推荐
- Struts使用BeanUtils提供的数据类型转换器
- Struts使用BeanUtils提供的数据类型转换器
- Struts使用BeanUtils提供的数据类型转换器
- 使用ADO.net将数据导出到Excel并提供下载
- 使用 struts2.0 返回数据列表时的collection 变量名不能与jsp文件同名?
- 使用Enterprise Library DAAB架构灵活的数据提供层
- 使用Enterprise LIbrary还是使用VS2005提供的强数据类型集更方便???
- 使用ADO.net转换数据到Excel格式并提供下载
- 在Struts中使用JavaBean和List(多行数据)类型属性-JSP教程,Java技巧及代码
- 使用ADO.net将数据导出到Excel并提供下载
- 使用 Struts 提供的 HTML 标签库
- struts+spring+hibernate架构中数据对象(PO,POJO,FormBean)的使用心得
- 使用ADO.net转换数据到Excel格式并提供下载 (转)
- ABAP--如何使用REUSE_ALV_GRID_DISPLAY函数删除内表数据(样例代码,感谢依风提供)
- ABAP--如何使用REUSE_ALV_GRID_DISPLAY函数删除内表数据(样例代码,感谢依风提供)
- 合理使用.NET数据提供程序DataReader还是DataSet?
- 在Struts中使用JavaBean和List(多行数据)类型属性
- 使用Struts提供的HTML标签库
- 使用ADO.net将数据导出到Excel并提供下载
- ABAP--如何使用REUSE_ALV_GRID_DISPLAY函数删除内表数据(样例代码,感谢依风提供)