`
wpsing
  • 浏览: 6220 次
  • 来自: ...
社区版块
存档分类
最新评论

手机开发之后台开发认识

阅读更多
后台的开发需要支持不同系统手机客户端的开发(包括塞班、安卓、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>


实现的是返回给客户端的专辑列表!

分享到:
评论

相关推荐

    蜡烛与台灯_1.docx

    故事《蜡烛与台灯》通过一个简单的寓言形式,讲述了一个关于谦虚、自我反省以及价值认识的主题。虽然这看起来是一个面向儿童的故事,但其中蕴含的道理同样适用于成人世界,尤其是在快速发展的信息技术领域。 #### ...

    电信设备-数字移动台实时显示短消息的控制装置及其方法.zip

    标题中的“电信设备-数字移动台实时显示短消息的控制装置及其方法”涉及到的是通信技术领域,特别是关于数字移动通信...通过学习这份资料,读者可以深入了解通信技术的内部运作,提高对移动通信系统优化和开发的认识。

    一步一步学习 iOS 6 编程(第四版).

    通过这个简单的例子,新手可以对 iOS 开发有一个初步的认识。 接着,教程深入介绍 iOS 编程的基础知识,包括 InterfaceBuilder 的使用、头文件和实现文件的作用,以及触摸和点击事件的处理机制。这部分内容对于理解...

    手机浏览器将进入Web App时代 百纳信息屠锋锋.docx

    综上所述,海豚浏览器凭借对Web App的前瞻性认识和持续的创新,试图在竞争激烈的手机浏览器市场中找到自己的立足之地,并期望通过提供卓越的用户体验和整合Web App功能,成长为移动互联网领域的重要平台。

    有工作经验的简历模版

    - 通过该项目,进一步提升了基于JSP、Servlet及Struts框架的Web编程能力,加深了对Hibernate数据库访问技术的理解,并且对Spring框架的应用有了更深入的认识。 ##### 项目二:网上购物平台(B/S) - **系统平台**...

    C#微软培训资料

    &lt;&lt;page 1&gt;&gt; page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...

    人工智能作文400字(2).doc

    我歪着头反问:"是电 脑和手机吗?"哥哥笑了一下,接着说:"差不多吧,人工智能的英文叫做artificial, technology,简称ai,而真正意义上的人工智能就是能够帮助人类完成复杂工作的东西 。"说着,他把电脑打开,...

    clean-up-admin-template

    "clean-up-admin-template" 是一个基于React技术栈的管理界面模板,专为构建高效、整洁且用户友好的后台管理系统设计...通过深入学习和理解这个模板,你可以提升你的React技能,同时对现代前端开发流程有更深入的认识。

    软件测试常见面试题

    - **移动设备兼容性:** 如果软件适用于移动设备,则需要验证在不同品牌和型号的手机和平板电脑上的性能。 - **网络兼容性:** 测试软件在网络连接不稳定或速度慢的情况下的表现。 - **数据库兼容性:** 如果软件...

    java面试题

    3:多台:不同对象对统一消息作出不同响应称之为多态 4:抽象:忽略与当前主题无关的那些方面,将注意力集中在与当前目标有关的方面 运行时异常和一般异常有何异同? 答:运行时异常时(JVM)java虚拟机在运行过程...

    Java经典入门教程pdf完整版

    电冰箱)、汽车电子没备等都是近年以来热门的Java应用领域,尤其是手机上的Java应用 程序和Java游戏,更是普及。 4:除了上面提到的,Java还有很多功能:如进行数学运算、显示图形界面、进行网络操作、 进行数据库操作、...

Global site tag (gtag.js) - Google Analytics