iteye_10260 2012-11-10 19:55
浏览 258
已采纳

怎么让应用系统既支持PC访问也支持手机访问?

ITeye上的各位老师好!
我有个问题想请教下,比如我做个J2EE的应用,放到服务器上,让它既支持PC访问也支持手机访问。类似于用手机
访问百度,他有个移动版和传统版的切换,怎么让网站支持手机的显示效果好些。

  • 写回答

2条回答 默认 最新

  • blogzhoubo 2012-11-10 21:30
    关注

    从http请求的header中可以取出user-agent的值,根据这个值就可以判断出客户端用的是哪种设备,然后根据不同的设备返回不同的页面。比如,下面的代码可以简单地区分出终端设备是PC还是手持设备。

    String header=request.getHeader("user-agent");
    if(header.indexOf("Mozilla")!=-1){//PC
    request.getRequestDispatcher("index.jsp").forward(request, response);
    }else{
    request.getRequestDispatcher("wap/login.jsp").forward(request, response);
    }

    然后,在做页面的时候可以针对PC和WAP分别作出两套。比如:

    pc/index.jsp
    wap/index.jsp

    如果终端设备是PC,那么就返回pc/index.jsp给客户端,否则就返回wap/index.jsp给客户端。做得再好一些的话,还可以再进一步细分,比如iphone,ipad,android等等,都可以通过前面提到的user-agent来分析出来。

    如果不想做成两套页面的话,只能在页面里加很多if分支了,不同的终端设备执行不同的if分支中的代码,这样代码会变得难以维护,所以不推荐。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行