当前位置:网站首页>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
边栏推荐
- Arduino get random number
- 机器学习--决策树(sklearn)
- arduino获取随机数
- Raspberry pie tap switch button to use
- PyTorch四种常用优化器测试
- C language, log print file name, function name, line number, date and time
- RuntimeError: cuDNN error: CUDNN_ STATUS_ NOT_ INITIALIZED
- MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
- R & D thinking 01 ----- classic of embedded intelligent product development process
- . elf . map . list . Hex file
猜你喜欢
Reno7 60W super flash charging architecture
A possible cause and solution of "stuck" main thread of RT thread
Pytorch four commonly used optimizer tests
RT-Thread 线程的时间片轮询调度
小天才电话手表 Z3工作原理
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
C语言回调函数【C语言】
Implementation scheme of distributed transaction
Working principle of genius telephone watch Z3
sklearn之feature_extraction.text.CountVectorizer / TfidVectorizer
随机推荐
ESP8266使用arduino连接阿里云物联网
機器學習--線性回歸(sklearn)
基于Redis的分布式ID生成器
嵌入式启动流程
ARM PC=PC+8 最便于理解的阐述
GCC compilation options
Raspberry pie tap switch button to use
C language, log print file name, function name, line number, date and time
.elf .map .list .hex文件
Important methods of array and string
数据分析之缺失值填充(重点讲解多重插值法Miceforest)
Cannot change version of project facet Dynamic Web Module to 2.3.
Vscode basic configuration
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries(XGBoost)
Pytorch-温度预测
Dependency in dependencymanagement cannot be downloaded and red is reported
Types de variables JS et transformations de type communes
Kconfig Kbuild
C语言,log打印文件名、函数名、行号、日期时间
I2C bus timing explanation