当前位置:网站首页>Knowledge summary of request
Knowledge summary of request
2022-07-06 12:12:00 【Lingxiaoyuan】
Request:
1. request Objects and response The principle of objects
1. request and response Objects are created by the server . Let's use them
2. request Object to get the request message ,response Object to set the response message
2. request Object inheritance Architecture :
ServletRequest -- Interface
| Inherit
HttpServletRequest -- Interface
| Realization
org.apache.catalina.connector.RequestFacade class (tomcat)
3. request function :
1. Get request message data
1. Get request line data
* GET /day14/demo1?name=zhangsan HTTP/1.1
* Method :
1. Get request method :GET
* String getMethod()
2. (*) Get virtual directory :/day14
* String getContextPath()
3. obtain Servlet route : /demo1
* String getServletPath()
4. obtain get Mode request parameters :name=zhangsan
* String getQueryString()
5. (*) Get request URI:/day14/demo1
* String getRequestURI(): /day14/demo1
* StringBuffer getRequestURL() :http://localhost/day14/demo1
* URL: Uniform resource locator : http://localhost/day14/demo1 The People's Republic of China
* URI: Uniform resource identifiers : /day14/demo1 republic
6. Get the protocol and version :HTTP/1.1
* String getProtocol()
7. Get the... Of the client IP Address :
* String getRemoteAddr()
2. Get request header data
* Method :
* (*)String getHeader(String name): Get the value of the request header by the name of the request header
* Enumeration<String> getHeaderNames(): Get all request header names
3. Get request body data :
* Request body : Only POST Request mode , There's a requester , Encapsulate... In the request body POST Requested request parameters
* step :
1. Get stream object
* BufferedReader getReader(): Get character input stream , Only character data can be operated
* ServletInputStream getInputStream(): Get byte input stream , All types of data can be manipulated
* Explain after uploading the knowledge points of the file
2. Then take the data from the flow object
2. Other features :
1. Get request parameters in general : Regardless of get still post The following methods can be used to obtain request parameters in both request methods
1. String getParameter(String name): Get the parameter value according to the parameter name username=zs&password=123
2. String[] getParameterValues(String name): Get the array of parameter values according to the parameter name hobby=xx&hobby=game
3. Enumeration<String> getParameterNames(): Get all requested parameter names
4. Map<String,String[]> getParameterMap(): Get... For all parameters map aggregate
* Chinese code scrambling :
* get The way :tomcat 8 Have already put get The problem of disorderly pattern has been solved
* post The way : It's messy
* solve : Before getting the parameters , Set up request The coding request.setCharacterEncoding("utf-8");
This request.setCharacterEncoding("utf-8"); that will do
2. Request forwarding : A way to jump resources inside the server
1. step :
1. adopt request Object get request forwarder object :RequestDispatcher getRequestDispatcher(String path)
2. Use RequestDispatcher Object to forward :forward(ServletRequest request, ServletResponse response)
2. characteristic :
1. The browser address bar path does not change
2. It can only be forwarded to the internal resources of the current server .
3. Forwarding is a request
3. Shared data :
* Domain object : An object of scope , Data can be shared in scope
* request Domain : Represents the scope of a request , It is generally used to share data among multiple resources for request forwarding
* Method :
1. void setAttribute(String name,Object obj): Store the data
2. Object getAttitude(String name): Get value by key
3. void remove (String name): Remove key value pairs by key
边栏推荐
猜你喜欢
Mysql database interview questions
[template] KMP string matching
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries(XGBoost)
open-mmlab labelImg mmdetection
ToggleButton实现一个开关灯的效果
Pytorch four commonly used optimizer tests
电商数据分析--薪资预测(线性回归)
C language callback function [C language]
ES6语法总结--上篇(基础篇)
随机推荐
MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
荣耀Magic 3Pro 充电架构分析
Comparison of solutions of Qualcomm & MTK & Kirin mobile platform USB3.0
基于Redis的分布式ID生成器
A possible cause and solution of "stuck" main thread of RT thread
Analysis of charging architecture of glory magic 3pro
JS variable types and common type conversions
. elf . map . list . Hex file
GCC compilation options
js题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
Arduino get random number
关键字 inline (内联函数)用法解析【C语言】
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
基于Redis的分布式锁 以及 超详细的改进思路
arduino UNO R3的寄存器写法(1)-----引脚电平状态变化
map文件粗略分析
R & D thinking 01 ----- classic of embedded intelligent product development process
RT thread API reference manual
Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
Unit test - unittest framework