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

一般的来说,中小型的应用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>

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

也是可以的(最好不要)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值