User-Agent是HTTP请求头的一个字段,主要用于向服务器提供客户端的浏览器类型及版本、操作系统及版本、浏览器内核等信息。开发者可以根据系统环境开发不同排版的网站,给予用户更好的体验。
基于HTTP请求头的User-Agent系统环境字段开发多端应用案例:
- 服务器端可以通过String userAgent = request.getHeaders(“User-Agent”)来获取H信息TTP请求头的User-Agent字段的信息(值)
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @Author: 落叶无痕
* @Date: 2020/6/2 17:03
*/
@WebServlet("/ua")
public class UserAgentServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置响应内容类型
response.setContentType("text/html;charset=utf-8");
//获取请求体的User-Agent系统环境字段信息
String userAgent = request.getHeader("User-Agent");
String output = "";
//判断当前客户端的系统环境
if (userAgent.indexOf("Windows NT") != -1) {
output = "<h1>这是PC端</h1>";
} else if (userAgent.indexOf("Android") != -1 || userAgent.indexOf("iPhone") != -1) {
output = "<h1>这是移动端</h1>";
}
//浏览器打印输出
response.getWriter().println(output);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
}
}
运行效果: