25_Android_网络通信之资讯客户端(上)

来源:互联网 发布:双色球必中蓝球算法 编辑:程序博客网 时间:2024/05/22 07:05

一般的来说,中小型的应用Android与服务器的通讯方式是直接通过Url路径请求servlet,然后servlet返回xml数据(或者Json数据)这些xml文件里面又包括一些路径(比如图片的url路径,显示图片就通过这个路径下载)。而且有服务器跳转的技术

Web端的开发:

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {List<News> videos = new NewsService().getLatestNews();request.setAttribute("videos", videos);request.getRequestDispatcher("index.jsp").forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {List<News> videos = new NewsService().getLatestNews();request.setAttribute("videos", videos);request.getRequestDispatcher("index.jsp").forward(request, response);}}

注意两个地方:

1. 最好doPostdoGet都写,要不然加入用户以Post方式发送请求的时候,只写doGet没有任何回应,结果不知道错在哪里

2. 注意路径的书写,加入是在WEB-INF里面新建一个page文件夹,里面有一个news.jsp文件,那么路径就是WEB-INF/page/news.jsp

NewsService:
public class NewsService {public List<News>  getLatestNews(){List<News> news=new ArrayList<News>();news.add(new News(1,"喜羊羊与灰太狼",20));news.add(new News(2,"喜羊羊与灰太狼",30));news.add(new News(3,"喜羊羊与灰太狼",30));news.add(new News(4,"喜羊羊与灰太狼",60));news.add(new News(5,"喜羊羊与灰太狼",45));news.add(new News(6,"喜羊羊与灰太狼",32));return news;}}

News:

public class News {private Integer id;private String   name;private Integer  timeLength;public News(){}public News(Integer id, String name, Integer timeLength) {this.id = id;this.name = name;this.timeLength = timeLength;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getTimeLength() {return timeLength;}public void setTimeLength(Integer timeLength) {this.timeLength = timeLength;}}

index.jsp:使用的是JSTL
<?xml version="1.0" encoding="UTF-8"?><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><Videonews><c:forEach items="${videos}" var="video"><id>${video.id }</id><name>${video.name}</name><timeLength>${video.timeLength}</timeLength></c:forEach> </Videonews>

注意:事实上这个index.jsp完全可以这样写:

<?xmlversion="1.0"encoding="UTF-8"?>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>

<Videonews>

<c:forEachitems="${videos}"var="video">

   <id>${video.id }</id>

   <name>${video.name}</name>

   <timeLength>${video.timeLength}</timeLength>

</c:forEach></Videonews>

不要<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

也是可以的(最好不要)



原创粉丝点击