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);
}
}
運作效果: