当前位置:网站首页>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
边栏推荐
- Raspberry pie tap switch button to use
- Pat 1097 duplication on a linked list (25 points)
- 基于Redis的分布式ID生成器
- Basic operations of databases and tables ----- view data tables
- JS regular expression basic knowledge learning
- map文件粗略分析
- C language callback function [C language]
- STM32 how to locate the code segment that causes hard fault
- 機器學習--線性回歸(sklearn)
- Types de variables JS et transformations de type communes
猜你喜欢

高通&MTK&麒麟 手机平台USB3.0方案对比

Esp8266 uses Arduino to connect Alibaba cloud Internet of things

Reno7 60W超级闪充充电架构

高通&MTK&麒麟 手機平臺USB3.0方案對比

Kconfig Kbuild

机器学习--线性回归(sklearn)

Priority inversion and deadlock

荣耀Magic 3Pro 充电架构分析

Correspondence between STM32 model and contex M

Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries
随机推荐
sklearn之feature_extraction.text.CountVectorizer / TfidVectorizer
uCOS-III 的特点、任务状态、启动
几个关于指针的声明【C语言】
Pat 1097 duplication on a linked list (25 points)
Implementation scheme of distributed transaction
ES6 grammar summary -- Part 2 (advanced part es6~es11)
C language callback function [C language]
C语言,log打印文件名、函数名、行号、日期时间
arduino UNO R3的寄存器写法(1)-----引脚电平状态变化
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
基于Redis的分布式锁 以及 超详细的改进思路
Arduino uno R3 register writing method (1) -- pin level state change
JS變量類型以及常用類型轉換
Pytoch implements simple linear regression demo
ES6 grammar summary -- Part I (basic)
JS regular expression basic knowledge learning
Working principle of genius telephone watch Z3
Unit test - unittest framework
E-commerce data analysis -- User Behavior Analysis
选择法排序与冒泡法排序【C语言】