JSP的一些需求实例

一、判断UA跳转页面

UserAgent(UA)
UserAgent是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好,通过UA可以分析出浏览器名称、浏览器版本号、渲染引擎、操作系统。

知识扩展:
为什么所有主要浏览器的 User-Agent 都是 Mozilla/x.0 开头?
【果言科技】 Netscape :曾經的瀏覽器霸主,是如何衰落的?

区分:
一层:区分PC端 Or 移动端
二层:PC端下区分IE、Chrome、Firefox... || 移动端下区分Android、IOS...

——方法
用到java.util.regex包下两个重要的类Pattern和Matcher

  • Pattern:一个Pattern是一个正则表达式编译后的表现模式。
  • Matcher:一个Matcher对象是一个状态机器,它依据Pattern对象作为匹配模式对字符串进行匹配检查。
    参考:Java正则表达式Pattern和Matcher

——实例代码(判断Android还是iphone,都false的时候是PC)

<%@page import="java.util.regex.Matcher"%>
<%@page import="java.util.regex.Pattern"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<%! //加!表示java声明
//匹配字符串
String androidReg = "\\bandroid|Nexus\\b";
String iosReg = "ip(hone|od|ad)";

//由 CASE_INSENSITIVE标志启用时,不区分大小写的匹配将以符合 Unicode Standard 的方式完成
Pattern androidPat = Pattern.compile(androidReg, Pattern.CASE_INSENSITIVE);
Pattern iosPat = Pattern.compile(iosReg, Pattern.CASE_INSENSITIVE);

public boolean likeAndroid(String userAgent) {
    if(null == userAgent) {
        userAgent = "";
    }
    //匹配
    Matcher matcherAndroid = androidPat.matcher(userAgent);
    if(matcherAndroid.find()){
        return true;
    } else {
        return false;
    }
}

public boolean likeIOS(String userAgent){
    if(null == userAgent){
        userAgent = "";
    }
    //匹配
    Matcher matcherIOS = iosPat.matcher(userAgent);
    if(matcherIOS.find()){
        return true;
    } else {
        return false;
    }
}
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

String userAgent = request.getHeader("USER-AGENT").toLowerCase();
System.out.println("userAgent: "+userAgent);
if(null == userAgent){
    userAgent = "";
}
if(likeAndroid(userAgent)){
    System.out.println("likeAndroid: "+true);
    //安卓跳百度
    response.sendRedirect("https://www.baidu.com");
    return;
} else if(likeIOS(userAgent)){
    System.out.println("likeIOS: "+true);
    //IOS跳谷歌中文
    response.sendRedirect("https://www.google.com/?hl=zh_cn");
    return;
}
%>




判断UA跳转


    
//PC下显示这个

这是一个判断UA跳转的页面


二、Java数据库连接

Java Database Connectivity,简称JDBC

易出错点

  • 下载 mysql-connector-java-5.1.39-bin.jar 拷贝到 tomcat 下 lib 目录
  • 下载jakarta-taglibs-standard-1.1.2.zip 包并解压,将jakarta-taglibs-standard-1.1.2/lib/下的两个jar文件:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下
    官方下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
  • 在web.xml添加以下配置(该文件在/WEB-INF/下)


    
    
    http://java.sun.com/jstl/fmt
    /WEB-INF/fmt.tld
    
    
    http://java.sun.com/jstl/fmt-rt
    /WEB-INF/fmt-rt.tld
    
    
    http://java.sun.com/jstl/core
    /WEB-INF/c.tld
    
    
    http://java.sun.com/jstl/core-rt
    /WEB-INF/c-rt.tld
    
    
    http://java.sun.com/jstl/sql
    /WEB-INF/sql.tld
    
    
    http://java.sun.com/jstl/sql-rt
    /WEB-INF/sql-rt.tld
    
    
    http://java.sun.com/jstl/x
    /WEB-INF/x.tld
    
    
    http://java.sun.com/jstl/x-rt
    /WEB-INF/x-rt.tld
    
    

其他参考:http://www.runoob.com/jsp/jsp-database-access.html

你可能感兴趣的:(JSP的一些需求实例)