请问jsp怎么判断访问来自PC还是手机等移动设备?

dsgdsg 2010-06-24 11:25:02
在网上找了一些代码,但是正确的概率很低,
请问有人做过这种判断吗?
...全文
1029 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
HttpCapabilitiesBase r = (System.Web.Configuration.HttpCapabilitiesBase)Request.Browser;
string agent = (Request.UserAgent + "").ToLower().Trim();

if (r.Browser == "Mozilla")
Response.Write("可以识别:Mozilla");
else
Response.Write("不识别:Mozilla");
if (r.IsMobileDevice || r.Browser == "Unknown" || r.Browser == "Mozilla")
{
Response.Write("手机" + "\r\n" + r.Browser + "\r\n" + r.Type);
}
else
{
Response.Write("电脑" + "\r\n" + r.Browser + "\r\n" + r.Type);
}
}
smmi 2010-06-25
  • 打赏
  • 举报
回复
不光登陆,手机访问的页面都要重做,但是服务器端的处理流程是一样的,只是显示的界面不同而已。
你理解的很对!
dr_lou 2010-06-25
  • 打赏
  • 举报
回复
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
Enumeration<?> enumer = request.getHeaderNames();
while (enumer.hasMoreElements()) {
String name = (String) enumer.nextElement();
out.println(name+"="+request.getHeader(name)+"\r\n");
}
out.flush();
out.close();
}


分析一下手机端和PC登录时,user-agent的不同。
dsgdsg 2010-06-25
  • 打赏
  • 举报
回复
哦。
我清楚了。
等于说用户登录上来的时候。不一样的设备对应的登录界面都是不一样的。是吗?
dsgdsg 2010-06-25
  • 打赏
  • 举报
回复
我现在做的这个项目分别为PC和手机做了登陆页面,让用户自己选择从哪个地址接入。

那你选择的界面采用的是wml还是html啊?
smmi 2010-06-25
  • 打赏
  • 举报
回复
想要百分百识别PC或手机是不可能的,各个浏览器传递的userAgent参数格式不一样。通过判断IP来确定是手机用户,但只适用wap或net接入,3G手机与PC还是无法区分。我现在做的这个项目分别为PC和手机做了登陆页面,让用户自己选择从哪个地址接入。
dsgdsg 2010-06-25
  • 打赏
  • 举报
回复
难道没人愿意分享一下经验吗?
lemon520 2010-06-24
  • 打赏
  • 举报
回复
String agent = request.getHeader("User-Agent")
dsgdsg 2010-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 norikoccs 的回复:]

可以带入相关参数进行判断
[/Quote]

可以详细一点吗?
Norikoccs 2010-06-24
  • 打赏
  • 举报
回复
可以带入相关参数进行判断
lemon520 2010-06-24
  • 打赏
  • 举报
回复
参考这个
http://en.wikipedia.org/wiki/List_of_user_agents_for_mobile_phones
dsgdsg 2010-06-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lemon520 的回复:]

String agent = request.getHeader("User-Agent")
[/Quote]

下面的兄弟伙些。。能不能具体一点啊?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧