当前位置:网站首页>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
边栏推荐
- Detailed explanation of Union [C language]
- Unit test - unittest framework
- Pytorch-温度预测
- 列表的使用
- arduino获取随机数
- RT-Thread 线程的时间片轮询调度
- [golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree
- Understanding of AMBA, AHB, APB and Axi
- VIM command line notes
- 锂电池基础知识
猜你喜欢
[template] KMP string matching
Correspondence between STM32 model and contex M
ARM PC=PC+8 最便于理解的阐述
level16
几个关于指针的声明【C语言】
MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
Several declarations about pointers [C language]
Mp3mini playback module Arduino < dfrobotdfplayermini H> function explanation
ESP learning problem record
Kconfig Kbuild
随机推荐
Cannot change version of project facet Dynamic Web Module to 2.3.
数据分析之缺失值填充(重点讲解多重插值法Miceforest)
锂电池基础知识
机器学习--决策树(sklearn)
Embedded startup process
荣耀Magic 3Pro 充电架构分析
FreeRTOS 任务函数里面的死循环
Important methods of array and string
E-commerce data analysis -- salary prediction (linear regression)
几个关于指针的声明【C语言】
vim命令行笔记
ESP learning problem record
Pytorch实现简单线性回归Demo
Imgcat usage experience
机器学习--线性回归(sklearn)
Use of lists
Pat 1097 duplication on a linked list (25 points)
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
Characteristics, task status and startup of UCOS III
Esp8266 uses Arduino to connect Alibaba cloud Internet of things