Struts2中获取浏览器信息(两种方法)

方法一:利用UserAgentUtils-1.2.4.jar

方法二:利用利用原生API

大致代码如下:

导包:

<dependency>
  	<groupId>nl.bitwalker</groupId>
  	<artifactId>UserAgentUtils</artifactId>
  	<version>1.2.4</version>
</dependency>

Action:

package cn.tedu.web;

import javax.servlet.http.HttpServletRequest;

import nl.bitwalker.useragentutils.Browser;
import nl.bitwalker.useragentutils.OperatingSystem;
import nl.bitwalker.useragentutils.UserAgent;

import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import cn.tedu.json.BaseAction;

//测试浏览器类型
@Controller
@Scope("prototype")
public class AgentAction extends BaseAction{
	
	//利用包UserAgentUtils-1.2.4.jar
	public String agent(){
		//request为HttpServletRequest
		HttpServletRequest req = ServletActionContext.getRequest();
		//获取浏览器信息
		String ua = req.getHeader("User-Agent");
		//转成UserAgent对象
		UserAgent userAgent = UserAgent.parseUserAgentString(ua); 
		//获取浏览器信息
		Browser browser = userAgent.getBrowser();  
		//获取系统信息
		OperatingSystem os = userAgent.getOperatingSystem();
		//系统名称
		String system = os.getName();
		//浏览器名称
		String browserName = browser.getName();
		System.out.println("浏览器信息:" + ua);
		System.out.println("UserAgent对象:" + userAgent);
		System.out.println("浏览器信息:" + browser);
		System.out.println("系统信息:" + os);
		System.out.println("系统名称:" + system);
		System.out.println("浏览器名称:" + browserName);
		
		return NONE;
	}
	
	//利用原生API
	public String aboriginal(){
		//request为HttpServletRequest
		HttpServletRequest req = ServletActionContext.getRequest();
		//获取浏览器信息
		String agent = req.getHeader("User-Agent");
		System.out.println(agent);
		return NONE;
	}
	
}

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<package name="test3" namespace="/" extends="struts-default">
		<action name="wq1" class="agentAction" method="agent"></action>
		<action name="wq2" class="agentAction" method="aboriginal"></action>
	</package>
</struts>

web.xml文件与spring-web.xml省略,与博客其他文章中配置相同

浏览器输入以下两个网址即可:

http://localhost:8000/struts_test/wq1

http://localhost:8000/struts_test/wq2

因为没有配置result标签,所以显示空白网页,执行AgentAction类中的两个方法

在谷歌浏览器中测试以上两个URL结果如下:

浏览器信息:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
UserAgent对象:WINDOWS-CHROME
浏览器信息:CHROME
系统信息:WINDOWS
系统名称:Windows
浏览器名称:Chrome

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36

在IE11浏览器中测试以上两个URL结果如下:

浏览器信息:Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
UserAgent对象:WINDOWS-MOZILLA
浏览器信息:MOZILLA
系统信息:WINDOWS
系统名称:Windows
浏览器名称:Mozilla

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

在Edge浏览器中测试以上两个URL结果如下:

浏览器信息:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134
UserAgent对象:WINDOWS-CHROME
浏览器信息:CHROME
系统信息:WINDOWS
系统名称:Windows
浏览器名称:Chrome

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值