java 判断手机访问_下面java代码判断是手机访问还是PC访问什么地方出错了,手机跳转不到制定页面,等待解答...
最近在做一个项目,要在判断用户是否是通过手机访问网站的,如果是手机访问网站跳到一个登录页面,如果是用户用电脑访问网站跳到另外一个登录页面。我写了以下代码,但是用手机访问网站的时候,跳转不到制定页面,请求回答。
代码如下
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访问什么地方出错了,手机跳转不到制定页面,等待解答...相关推荐
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java 多态判断非空_收藏Java 面试题全梳理
脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...
- java判断float相等_在java中判断两个浮点型(float)数据是否相等的案例
示例代码: public static void main(String[] args) { float a = 10.222222225f; float b = 10.222222229f; Sys ...
- java判断文件结束_关于java读取文件时,如何判断读取文件是否到达末尾?
一.前言 java读取文件时,如果到达文件末尾,再进行读取时会发生异常,所以我们需要判断读取文件已经到达末尾.对于文件读取我们通常会采用不同的读取方式,如用InputStream流读取字节流.用Rea ...
- java动态执行逻辑_动态执行代码逻辑
动态执行逻辑的方法据我所知有一下两种方式 QLExpress Groovy QLExpress QLExpress是阿里开源的动态脚本执行的项目. 由阿里的电商业务规则.表达式(布尔组合).特殊数学公 ...
- java 编码 正弦计算器_计算器完整代码(java).doc
计算器完整代码(java) 1. Calculator 类 import java.applet.*; import java.awt.*; import java.awt.event.*; impo ...
- java继承数组实例_【Java】理解封装、继承、多态和对象数组的综合实例(简易的租车系统,附代码)...
一.Drive.java(汽车类 - 父类) package Z_CarManger; import java.io.ObjectInputStream.GetField; public abstra ...
- java是什么格式_是java格式
错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...
- 开发java程序的步骤_开发 Java 程序的一般步骤是:源程序编辑、 和 。_学小易找答案...
[多选题]财务报表分析具有广泛的用途,一般包括( ). [单选题]在财务报表分析中,投资人是指( ). [单选题]阅读下列代码,选出该代码段正确的文件名( ). class A{ void metho ...
最新文章
- 经典算法题每日演练——第十九题 双端队列
- lduan Exchange 2013 公共文件夹(十)
- 阿里面试题——Java对象初始化
- 二进制文件被拒_苹果商店上架,二进制文件被拒绝
- volta架构 微型计算机,性能大爆炸 NVIDIA新GPU架构曝光
- python hstack_Python小白数据科学教程:NumPy (下)
- linux中央服务器,如何在Linux上搭建一个Git中央仓库
- linux进程创建过程,Linux 进程创建过程的分析
- redhat自带mysql_rhel4卸载系统自带的mysql4.1
- java中this用法
- 低压电力线宽带载波通信互联互通技术规-总则
- 做正确的事和正确的做事的区别
- 赛马比赛--25匹马5个跑道,怎样选出最快的5匹来
- 一文读懂《理解未来的7个原则》
- Linux页高速缓存与文件读写
- 生活中的货币时间价值 网课答案
- VR全景如何应用在家装中?体验真实的家装效果
- python人工智能应用锁_自兴人工智能——Python 第一课
- SEO流量变现,看这个项目就够了!
- 数据库脏读、事务的四大特性、四大隔离级别、三大范式