后台的开发需要支持不同系统手机客户端的开发(包括塞班、安卓、IOS)系统提供后台接口,由于客户来解析接口提供的数据格式(XML、Json)目前采用XML格式返回。
后台组织上面可以采用简单的JSP格式,JSP直接访问后台的服务层,省掉传统MVC中的C层,直接是MV层,视图层直接访问管理层得到相应的数据返回,并组织成客户端定义的数据格式!
例如 下面的JSP代码
<%@page import="com.migu.util.ConfigurationUtil"%>
<%@ page language="java" contentType="text/xml;charset=UTF-8"%><?xml version="1.0" encoding="UTF-8" ?>
<%@page import="com.migu.model.PsAlbumExample"%>
<%@page import="com.migu.model.PsAlbum"%>
<%@page import="com.migu.service.PsAlbumServiceImpl"%>
<%@page import="java.util.List"%>
<%@page import="com.migu.model.PageBean"%>
<%@page import="java.math.BigDecimal"%>
<%@page
import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@page import="org.springframework.web.context.WebApplicationContext"%>
<%@page import="com.migu.service.PsUserInvServiceImpl"%>
<%@page import="com.migu.model.PsUserInv"%>
<%@page import="java.util.Date"%>
<%@page import="com.migu.model.PsUserInvExample"%>
<%@taglib uri="oscache" prefix="cache"%>
<rsp> <%
int pageSize = 10;//默认size
int pageNo = 1;//默认页码
String pagesize = request.getParameter("pagesize");
String pageno = request.getParameter("pageno");
if(null!=pageno) pageNo = Integer.parseInt(pageno);
if(null!=pagesize) pageSize = Integer.parseInt(pagesize);
WebApplicationContext context =(WebApplicationContext)WebApplicationContextUtils.getWebApplicationContext(getServletContext());
PsAlbumServiceImpl psAlbumServiceImpl = (PsAlbumServiceImpl)context.getBean("psAlbumServiceImpl");
PsUserInvServiceImpl psUserInvServiceImpl = (PsUserInvServiceImpl)context.getBean("psUserInvServiceImpl");
String singerid = request.getParameter("singerid");
String mobile=request.getHeader("x-up-calling-line-id");
//插入用户的访问专辑的日期记录
if(null!=singerid&&null!=mobile){
PsUserInvExample e=new PsUserInvExample();
e.createCriteria().andInvArtistIdEqualTo(Long.parseLong(singerid)).andInvUidEqualTo(BigDecimal.valueOf(Long.parseLong(mobile)));
List<PsUserInv> ll=psUserInvServiceImpl.selectByExample(e);
PsUserInv pui=new PsUserInv();
pui.setInvAlbumTime(new Date());
pui.setInvArtistId(Long.parseLong(singerid));
pui.setInvUid(BigDecimal.valueOf(Long.parseLong(mobile)));
//如果用户已经访问了歌手的有其它类型(如图片),则进行更新
if(ll.size()>0){
pui.setInvId(ll.get(0).getInvId());
psUserInvServiceImpl.updateByPrimaryKeySelective(pui);
}
//插入访问日期记录
else{
psUserInvServiceImpl.insert(pui);
}}
if(null!=singerid){
PsAlbumExample example = new PsAlbumExample();
example.createCriteria().andAlbArtidEqualTo(BigDecimal.valueOf(Long.parseLong(singerid)));
example.setOrderByClause("ALB_ID");
/*OSCACHE缓存配置START*/
StringBuffer cache_key = request.getRequestURL().append("_").append(singerid).append("_").append(pageno).append("_").append(pagesize);
%> <cache:cache time="180" key="<%=cache_key.toString()%>" refresh="false">
<%
/*OSCACHE缓存配置END*/
PageBean pageBean =psAlbumServiceImpl.queryByPage( pageNo, pageSize,example);
List<PsAlbum> list =pageBean.getResultList();
%>
<pagecount><%=pageBean.getPageCount()%></pagecount>
<list> <%
for(PsAlbum obj:list){
if(null!=obj){
String pic_path = "";
try{
pic_path = ConfigurationUtil.getFullPicPath(obj.getAlbPicPath());
if(null!=pic_path&&pic_path.indexOf(".")>0) pic_path = pic_path.substring(0,pic_path.lastIndexOf("."))+"_150x150.jpg";
}catch(Exception e){
}
%> <item> <id><%=obj.getAlbId()%></id> <img><%=ConfigurationUtil.filterNull(pic_path)%></img>
<title><%=ConfigurationUtil.filterNull(obj.getAlbName())%></title> </item> <%
}
}
%> </list>
</cache:cache> <%}%> </rsp>
实现的是返回给客户端的专辑列表!
分享到:
相关推荐
java手机软件开发资料全集 资料清单: 1、Java手机程式设计入门 2、J2ME+手机+开发+视频 3、J2ME开发大全 4、Java(学习JAVA必备教程),看完了你也会编手机JAR软件了! 5、java_手机游戏开发入门教程 6、Java多...
brew 手机游戏开发实例brew 手机游戏开发实例brew 手机游戏开发实例brew 手机游戏开发实例
java手机游戏开发java手机游戏开发java手机游戏开发java手机游戏开发java手机游戏开发java手机游戏开发java手机游戏开发java手机游戏开发
开发常用的ico图标打大全,网页开发、桌面程序开发、手机开发
MTK 手机开发入门 一书 pdf版本 在淘宝上花4元钱买的
《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》...
手机游戏开发 毕业论文 JAVA 是个很好的学习手机游戏开发的例子、
android手机游戏开发大全
第1~5章,由零开始,引导读者从基本的操作到完成三个完整的游戏实例,使读者对Unity游戏开发有一个较全面的认识。第6~7章,重点介绍了Unity在网络方面的应用。第8~10章介绍了如何将Unity游戏移植到网页、iOS和...
android手机开发的必备素材,相当的全,欢迎下载使用
智能手机Web标准开发实战:为iPhone、Android、Palm Pre、BlackBerry、Windows Mobile及Nokia S60开发通用的基于Javascript、CSS、HTML和Ajax的Web应用(移动与嵌入式开发技术) 好书籍不多介绍,网上介绍一大堆
课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java
手机软件开发项目,实例,可以参考则玩哦,你会发现开发手机软件同样很方便和简单,Android手机软件可以自己开发啦!
第2~4章是3个不同特色的3D游戏实例,让读者对Unity游戏开发有一个较全面的认识。第5章是一个2D游戏实例,全方位地介绍了Unity在2D游戏方面的应用。第6章和第7章,重点介绍了Unity在网络方面的应用。第8~10章介绍了...
《微信小程序开发图解案例教程》教学教案—01认识微信小程序.pdf《微信小程序开发图解案例教程》教学教案—01认识微信小程序.pdf《微信小程序开发图解案例教程》教学教案—01认识微信小程序.pdf《微信小程序开发图解...
毕设论文手机应用开发类论文下载开发技术
手机APP开发制作价格计算器通过收集行业内数千APP开发制作定制方面的成本价格数据,帮助您对APP开发的价格有个感性直观的认识,分析了常见APP的功能组成及结构构成,将一个常见的APP从平台方案、基础设置和功能设置...
移动开发基础,游戏开发基础,手机游戏开发过程详解
《创意之钥:Android手机交互应用开发》以android手机交互开发为平台,定位于创意从产生到实际应用的过程,将书中内容分为创意的真空、创意的奇点和创意大爆炸三篇。作者分别从灵感的获取、如何在android开发中发挥...
MTK手机开发入门 这是第二分卷。一共就2个分卷。