Http协议与tomcat在idea的使用
1 http请求协议
浏览器和服务器进行交互需要遵循的数据传输格式的协议。
请求和响应数据
general
请求头
响应头
1.1 如何获取请求头里面的数据
String value = request.getHeader(String name);
String[] names = request.getHeaderNames();
1.2 获取general的数据
String method = request.getMethod();
String address = request.getRemoteHost();
1.3 获取请求资源定位符
String url = request.getRequestURL().toString();
String uri = request.getRequestURI();
1.4获取请求参数的值
post请求获取:
form表单获取
String value = request.getParameter(String name); //获取单个参数值
String[] values = request.getParameterValues(String name);
处理post请求,获取中文乱码,如何处理
request.setCharacterEncoding("utf-8");
get请求获取
get请求如何传递参数?拼接参数,如果出现多个参数使用&连接。 http://localhost:8081/demo3?name=lily&age=10
如何获取get请求提交的参数?
String value = request.getParameter(String name);
处理get请求,获取中文乱码,如何处理?
request.setCharacterEncoding("utf-8");
2、设置/获取响应信息 Response
2.1 设置状态码
response.setStatus(400); 设置400状态码
常见的状态码:
200 ok
400 请求参数不正确
404 请求资源找不到
405 请求方式不正确
403 请求权限不足
500 服务器内部资源错误
302 请求成功,但是请求需要进一步的被细化
304 对客户端有缓存情况下服务端的一种响应
415 请求中提交的实体并不是服务器中所支持的格式
**2.2 设置请求头**
response.setHeader(String name,String value);
**2.3 重定向**
response.sendRedirect("/demo1");
重点理解重定向的原理:
总共发送了2次请求。第一次请求的状态码是302 第二次请求的状态码是304
**2.4 向浏览器页面输出一些内容**
输出文本内容/html内容 response.setContentType("text/html;charset=utf-8");
输出图片内容 response.setContentType("image/jpeg");
输出json数据 response.setContentType("application/json");
response.getWriter.write();//写文本类型的数据
response.getOutputStream().write(bytes,0,length);