获取服务器上格式为JSON和XML两种格式的信息的小程序
首先写一个应用服务器端的jsp程序,用jsp和servlet简单实现,如下图所示
[java]
package cn.roco.domain;
public class News {
private Integer id;
private String title;
private Integer timelength;
public News() {
}
public News(Integer id, String title, Integer timelength) {
this.id = id;
this.title = title;
this.timelength = timelength;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getTimelength() {
return timelength;
}
public void setTimelength(Integer timelength) {
this.timelength = timelength;
}
}
package cn.roco.domain;
public class News {
private Integer id;
private String title;
private Integer timelength;
public News() {
}
public News(Integer id, String title, Integer timelength) {
this.id = id;
this.title = title;
this.timelength = timelength;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getTimelength() {
return timelength;
}
public void setTimelength(Integer timelength) {
this.timelength = timelength;
}
}
[java]
package cn.roco.service;
import java.util.List;
import cn.roco.domain.News;
public interface VideoNewsService {
/**
* 获取最新视频资讯
* @return
*/
public List<News> getLastNews();
}
package cn.roco.service;
import java.util.List;
import cn.roco.domain.News;
public interface VideoNewsService {
/**
* 获取最新视频资讯
* @return
*/
public List<News> getLastNews();
}
[java]
package cn.roco.service.impl;
import java.util.ArrayList;
import java.util.List;
import cn.roco.domain.News;
import cn.roco.service.VideoNewsService;
public class VideoNewsServiceBean implements VideoNewsService{
/**
* 模拟从服务器中获取数据 返回
*/
public List<News> getLastNews(){
List<News> newses=new ArrayList<News>();
for (int i = 1; i < 30; i++) {
newses.add(new News(i,"Xili"+i,i+90));
}
return newses;
}
}
package cn.roco.service.impl;
import java.util.ArrayList;
import java.util.List;
import cn.roco.domain.News;
import cn.roco.service.VideoNewsService;
public class VideoNewsServiceBean implements VideoNewsService{
/**
* 模拟从服务器中获取数据 返回
*/
public List<News> getLastNews(){
List<News> newses=new ArrayList<News>();
for (int i = 1; i < 30; i++) {
newses.add(new News(i,"Xili"+i,i+90));
}
return newses;
}
}
[java]
package cn.roco.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.roco.domain.News;
import cn.roco.service.VideoNewsService;
import cn.roco.service.impl.VideoNewsServiceBean;
public class ListServlet extends HttpServlet {
private VideoNewsService newsService=new VideoNewsServiceBean();
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
List<News> videos=newsService.getLastNews();
String format=req.getParameter("format");
//返回JSON格式
if ("json".equals(format)) {
StringBuilder builder=new StringBuilder();
builder.append('[');
for (News news : videos) {
builder.append('{');
builder.append("id:").append(news.getId()).append(',');
//转义 ""双引号
builder.append("title:\"").append(news.getTitle()).append("\",");
 
补充:web前端 , JavaScript ,