server端封装json:
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
PrintWriter out= response.getWriter();
response.setContentType("text/html;charset=gbk");
System.out.println("doget");
String method=request.getParameter("method");
Map<String, Object> map = new HashMap<String, Object>();
if("selectUrl".equals(method)){
String mechid = request.getParameter("mechid");//获得从android端传过来的参数
Mechine mechine = iUser.selectUrl(mechid);//logo_picurl,background_picurl,AboutusUrl三张图地址
List<BigPic> bigpics = iUser.selectBig(mechid);
List<SmallPic> smallPics = iUser.selectSmall(mechid);
List<LunboPic> lunboPics = iUser.selectLunBo(mechid);
map = new HashMap<String, Object>();
map.put("logourl", mechine.getLogoUrl());
map.put("backurl", mechine.getBackUrl());
map.put("abouturl", mechine.getAboutusUrl());
map.put("bigs", bigpics);
map.put("smalls", smallPics);
map.put("lunbos", lunboPics);
JSONObject.fromObject(map).write(out);//把值封装成json格式
out.close();
out = null;
}
}
@Override
public Mechine selectUrl(String id) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
//String logoUrl = null;
Mechine mechine = new Mechine();
try {
conn = JdbcUtils.getConnection();
String sql = "SELECT * FROM [VenMaDB_Iked].[dbo].[P_MachineInfo] WHERE id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1,id);
rs = ps.executeQuery();
while(rs.next()){
mechine.setLogoUrl(rs.getString("logo_picurl"));
mechine.setBackUrl(rs.getString("background_picurl"));
mechine.setAboutusUrl(rs.getString("machineinfo"));
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.free(rs, ps, conn);
}
return mechine;
}
@Override
public List selectBig(String machineid) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
//String logoUrl = null;
BigPic bigPic;
List<BigPic> bigPics = new ArrayList<BigPic>();
try {
conn = JdbcUtils.getConnection();
String sql = "SELECT * FROM [VenMaDB_Iked].[dbo].[P_MachineShowPic] WHERE machineid = ? and pictype='1'";
ps = conn.prepareStatement(sql);
ps.setString(1,machineid);
rs = ps.executeQuery();
while(rs.next()){
bigPic = new BigPic();
bigPic.setBigPic(rs.getString("picurl"));
bigPics.add(bigPic);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.free(rs, ps, conn);
}
return bigPics;
}
public class Mechine {
private String logoUrl;
private String backUrl;
private String aboutusUrl;
public String getAboutusUrl() {
return aboutusUrl;
}
public void setAboutusUrl(String aboutusUrl) {
this.aboutusUrl = aboutusUrl;
}
public String getLogoUrl() {
return logoUrl;
}
public void setLogoUrl(String logoUrl) {
this.logoUrl = logoUrl;
}
public String getBackUrl() {
return backUrl;
}
public void setBackUrl(String backUrl) {
this.backUrl = backUrl;
}
}
public class BigPic {
private String bigPic;
public String getBigPic() {
return bigPic;
}
public void setBigPic(String bigPic) {
this.bigPic = bigPic;
}
}
public class SmallPic {
private String smallPic;
public String getSmallPic() {
return smallPic;
}
public void setSmallPic(String smallPic) {
this.smallPic = smallPic;
}
}
public class LunboPic {
private String LunboPic;
public String getLunboPic() {
return LunboPic;
}
public void setLunboPic(String lunboPic) {
LunboPic = lunboPic;
}
}
封装后数据:
{
"aboutusurl": "upload/img/machines/kedk0300000620160106/other/xxxx.jpg",
"logourl": "upload/img/machines/kedk0300000620160106/logo/1456131090372.jpg",
"smalls": [
{
"smallPic": "upload/img/machines/kedk0300000620160106/small/6.jpg"
},
{
"smallPic": "upload/img/machines/kedk0300000620160106/small/7.jpg"
},
{
"smallPic": "upload/img/machines/kedk0300000620160106/small/8.jpg"
},
{
"smallPic": "upload/img/machines/kedk0300000620160106/small/9.jpg"
},
{
"smallPic": "upload/img/machines/kedk0300000620160106/small/4.jpg"
},
{
"smallPic": "upload/img/machines/kedk0300000620160106/small/5.jpg"
}
],
"lunbos": [
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/1.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/2.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/xxxx.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/3.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/4.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/5.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/6.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/XXXX.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/8.jpg"
},
{
"lunboPic": "upload/img/machines/kedk0300000620160106/base/9.jpg"
}
],
"bigs": [
{
"bigPic": "upload/img/machines/kedk0300000620160106/big/3.jpg"
},
{
"bigPic": "upload/img/machines/kedk0300000620160106/big/4.jpg"
},
{
"bigPic": "upload/img/machines/kedk0300000620160106/big/5.jpg"
}
],
"backurl": "upload/img/machines/kedk0300000620160106/background/1456131101602.jpg"
}
android端:
String url = "http://121.42.9.49/WeixinWbCs/AndroidServlet";
final Map<String, String> paras = new HashMap<String, String>();
paras.put("method","selectUrl");
paras.put("mechid","kedk0300000620160106");
String jsonString =HttpUtil.doPost(url, paras);
System.out.println("返回值是----"+jsonString);
if(jsonString!= null){
Gson gson=new Gson();
Mechine ked_pic=gson.fromJson(jsonString, Mechine.class);//所有的图片已经在ked_pic中,图片地址从ked_pic中取即可
System.out.println("aboutusurl:"+ked_pic.getAboutusurl());
System.out.println("BackUrl:"+ked_pic.getBackurl());
System.out.println("LogoUrl:"+ked_pic.getLogourl());
ArrayList<LunboPic> lists = ked_pic.getLunbos();
ArrayList<SmallPic> smallLists = ked_pic.getSmalls();
ArrayList<BigPic> bigLists = ked_pic.getBigs();
for(int i = 0;i < lists.size();i++){
String lunbo = lists.get(i).getLunboPic();//遍历list,lists.get(i)获得list的每个对象,.getLunboPic()取得每个对象的图片地址
System.out.println("轮播图pianyou:"+lunbo);
}
for(int i = 0;i < smallLists.size();i++){
String small = smallLists.get(i).getSmallPic();
System.out.println("产品小图:"+small);
}
for(int i = 0;i < bigLists.size();i++){
String big = bigLists.get(i).getBigPic();
System.out.println("产品大图:"+big);
}
}
public class Mechine {
对应server端的Key
private String logourl;
private String backurl;
private String aboutusurl;
private ArrayList<LunboPic> lunbos;
private ArrayList<BigPic> bigs;
private ArrayList<SmallPic> smalls;//自动生成get和set方法,此处省略
}
public class LunboPic {
private String lunboPic;
//省略get与set方法
}
public class SmallPic {
private String smallPic;//对应数组
}
public class BigPic {
private String bigPic;
}
终于OK了!list取图片地址时候记得String lunbo = lists.get(i).getLunboPic();当时做的时候少些了getLunboPic()浪费了好多时间。