本节目标
- 掌握Java web核心特性
- 掌握Servlet核心对象
- 了解JSP九大内置对象
一、HTTP请求的结构
Http请求包含三部分:请求行、请求头、请求体(只有Post才存在请求体)
以下为method="get"方法,请求参数保存在URL中,
以下为method="post"方法,请求参数保存在请求体中,
注意:传递参数的格式完全相同,只是保存的位置不同
二、利用请求头开发多端应用
- 如下,浏览器打开移动端页面,常见的User-Agent参数
Iphone端:
Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1
安卓端:
Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Mobile Safari/537.36
电脑端:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
- 获取User-Agent参数,代码如下
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userAgent=request.getHeader("User-Agent");
response.setContentType("text/html;charset=utf-8");
response.getWriter().println(userAgent);
String output="";
if(userAgent.indexOf("Mac OS X")!=-1) {
output="<h1>这是PC端首页</h1>";
}else if(userAgent.indexOf("iPhone")!=-1) {
output="<h1>这是移动端首页</h1>";
}
response.getWriter().println(output);
}
三、响应的结构
HTTP响应包含三部分:响应行、响应头、响应体
响应行 HTTP/1.1 200 OK
Server:Apache-Coyote/1.1
响应头 Content-Type:text/html
Transfer-Encoding:chunked
Date:Tue,9 Oct 2018 13:45:23: GMT
响应体 <html>
<head>
<title>我是响应体</title>
状态码 |
错误描述 |
200 |
服务器处理成功 |
404 |
无法找到文件 |
500 |
内部服务器错误 |
403 |
服务器拒绝访问 |
301、302 |
请求重定向 |
400 |
无效的请求 |
401 |
未经过授权 |
503 |
服务器超负载或正停机维护,无法处理请求 |
四、ContentType的作用
ContentType决定浏览器采用何种方式对