最近在做一个项目,要在判断用户是否是通过手机访问网站的,如果是手机访问网站跳到一个登录页面,如果是用户用电脑访问网站跳到另外一个登录页面。我写了以下代码,但是用手机访问网站的时候,跳转不到制定页面,请求回答。

代码如下

servlet代码如下:

package com.lensoon.login;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

import com.lensoon.common.JSF;

public class checkLoginServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request,response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

Logger logger;

logger = Logger.getLogger(this.getClass());

String userAgent = "";

String HTTP_USER_AGENT = request.getHeader("HTTP_USER_AGENT");

System.out.println("aa"+HTTP_USER_AGENT);

String agent = request.getHeader("User-Agent") == null ? "": request.getHeader("User-Agent");//取用户操作系统信息

//System.out.println(agent);

if(agent != null &&choose_jsp(agent)==true){

logger.error("跳转到手机百度");

logger.info("输出浏览器信息:**********************"+userAgent);

response.sendRedirect("http://www.baidu.com");

}

else{

logger.error("跳转到电脑");

request.getRequestDispatcher("Login.faces").forward(request, response);

}

}

public static boolean choose_jsp(String userAgent) {

if (userAgent.indexOf("Noki") > -1 || // Nokia phones and emulators

userAgent.indexOf("Eric") > -1 || // Ericsson WAP phones and emulators

userAgent.indexOf("WapI") > -1 || // Ericsson WapIDE 2.0

userAgent.indexOf("MC21") > -1 || // Ericsson MC218

userAgent.indexOf("AUR") > -1  || // Ericsson R320

userAgent.indexOf("R380") > -1 || // Ericsson R380

userAgent.indexOf("UP.B") > -1 || // UP.Browser

userAgent.indexOf("WinW") > -1 || // WinWAP browser

userAgent.indexOf("UPG1") > -1 || // UP.SDK 4.0

userAgent.indexOf("upsi") > -1 || //another kind of UP.Browser

userAgent.indexOf("QWAP") > -1 || // unknown QWAPPER browser

userAgent.indexOf("Jigs") > -1 || // unknown JigSaw browser

userAgent.indexOf("Java") > -1 || // unknown Java based browser

userAgent.indexOf("Alca") > -1 || // unknown Alcatel-BE3 browser (UP based)

userAgent.indexOf("MITS") > -1 || // unknown Mitsubishi browser

userAgent.indexOf("MOT-") > -1 || // unknown browser (UP based)

userAgent.indexOf("My S") > -1 ||//  unknown Ericsson devkit browser

userAgent.indexOf("WAPJ") > -1 ||//Virtual WAPJAG www.wapjag.de

userAgent.indexOf("fetc") > -1 ||//fetchpage.cgi Perl script from www.wapcab.de

userAgent.indexOf("ALAV") > -1 || //yet another unknown UP based browser

userAgent.indexOf("Wapa") > -1 || //another unknown browser (Web based "Wapalyzer")

userAgent.indexOf("UCWEB") > -1 || //another unknown browser (Web based "Wapalyzer")

userAgent.indexOf("BlackBerry") > -1 || //another unknown browser (Web based "Wapalyzer")

userAgent.indexOf("J2ME") > -1 || //another unknown browser (Web based "Wapalyzer")

userAgent.indexOf("Oper") > -1||

userAgent.indexOf("Android") >-1)

{

return true;

} else {

return false;

}

}

}

web.xml

checkLoginServlet

com.lensoon.login.checkLoginServlet

checkLoginServlet

/checkLoginServlet

输入网址时访问网站的时候会调用这个Login类的构造方法跳转到Login.java这个类中然后用JSF.redirect直接跳转到servlet中,代码如下:

public class Login {

public Login()  {

HttpSession session=JSF.getSession();

if(session.getAttribute("success")==null){

try {

session.setAttribute("success", "pc");

JSF.redirect("checkLoginServlet");//直接跳转到servlet中,是可以跳转的

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

代码就是这样,遇到的问题是,用手机访问的时候跳转不到制定页面,等待解答,急用呀!!!!!!!各位大神,来看看把!!!!!!!!!!!

2011年12月23日 20:26

java 判断手机访问_下面java代码判断是手机访问还是PC访问什么地方出错了,手机跳转不到制定页面,等待解答...相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. java 多态判断非空_收藏Java 面试题全梳理

    脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...

  3. java判断float相等_在java中判断两个浮点型(float)数据是否相等的案例

    示例代码: public static void main(String[] args) { float a = 10.222222225f; float b = 10.222222229f; Sys ...

  4. java判断文件结束_关于java读取文件时,如何判断读取文件是否到达末尾?

    一.前言 java读取文件时,如果到达文件末尾,再进行读取时会发生异常,所以我们需要判断读取文件已经到达末尾.对于文件读取我们通常会采用不同的读取方式,如用InputStream流读取字节流.用Rea ...

  5. java动态执行逻辑_动态执行代码逻辑

    动态执行逻辑的方法据我所知有一下两种方式 QLExpress Groovy QLExpress QLExpress是阿里开源的动态脚本执行的项目. 由阿里的电商业务规则.表达式(布尔组合).特殊数学公 ...

  6. java 编码 正弦计算器_计算器完整代码(java).doc

    计算器完整代码(java) 1. Calculator 类 import java.applet.*; import java.awt.*; import java.awt.event.*; impo ...

  7. java继承数组实例_【Java】理解封装、继承、多态和对象数组的综合实例(简易的租车系统,附代码)...

    一.Drive.java(汽车类 - 父类) package Z_CarManger; import java.io.ObjectInputStream.GetField; public abstra ...

  8. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

  9. 开发java程序的步骤_开发 Java 程序的一般步骤是:源程序编辑、 和 。_学小易找答案...

    [多选题]财务报表分析具有广泛的用途,一般包括( ). [单选题]在财务报表分析中,投资人是指( ). [单选题]阅读下列代码,选出该代码段正确的文件名( ). class A{ void metho ...

最新文章

  1. 经典算法题每日演练——第十九题 双端队列
  2. lduan Exchange 2013 公共文件夹(十)
  3. 阿里面试题——Java对象初始化
  4. 二进制文件被拒_苹果商店上架,二进制文件被拒绝
  5. volta架构 微型计算机,性能大爆炸 NVIDIA新GPU架构曝光
  6. python hstack_Python小白数据科学教程:NumPy (下)
  7. linux中央服务器,如何在Linux上搭建一个Git中央仓库
  8. linux进程创建过程,Linux 进程创建过程的分析
  9. redhat自带mysql_rhel4卸载系统自带的mysql4.1
  10. java中this用法
  11. 低压电力线宽带载波通信互联互通技术规-总则
  12. 做正确的事和正确的做事的区别
  13. 赛马比赛--25匹马5个跑道,怎样选出最快的5匹来
  14. 一文读懂《理解未来的7个原则》
  15. Linux页高速缓存与文件读写
  16. 生活中的货币时间价值 网课答案
  17. VR全景如何应用在家装中?体验真实的家装效果
  18. python人工智能应用锁_自兴人工智能——Python 第一课
  19. SEO流量变现,看这个项目就够了!
  20. 数据库脏读、事务的四大特性、四大隔离级别、三大范式

热门文章

  1. X/Open和OSF
  2. 计蒜客 人人都有极客精神(模拟)
  3. exlsx表格教程_e某cel表格~的各种基本操作.doc 文档全文预览
  4. 抛物型偏微分方程的Crank-Nicolson 方法; Richardson 外推法;紧差分法
  5. 【每日训练】排序子序列
  6. 【机器学习基础】CH2 - 监督学习(5)决策树
  7. 重磅消息!微信电脑版本,终于支持刷朋友圈啦!附内测下载地址!
  8. js闭包的理解及应用场景
  9. 树的双亲表示法(C语言实现)——树的存储结构
  10. 因果性与因果模型 | 中国人民大学哲学与认知科学明德讲坛