Objetos de solicitação e resposta de servlet

Princípios de objetos de solicitação e resposta
(1) O servidor tomcat cria o objeto ServletDemo correspondente de acordo com o caminho do recurso na url solicitada.
(2) O servidor tomcat cria objetos de solicitação e resposta, e o objeto de solicitação encapsula os dados da mensagem solicitada.
(3) O Tomcat passa os objetos de solicitação e resposta para o método de serviço e chama o método de serviço.
(4) Os programadores podem obter os dados da mensagem de solicitação por meio do objeto de solicitação e definir os dados da mensagem de resposta por meio do objeto de resposta.
(5) O servidor pegará os dados da mensagem de resposta configurados pelo programador do objeto de resposta antes de responder ao navegador.

Princípios dos objetos de solicitação e resposta
(1) Os objetos de solicitação e resposta são criados pelo servidor e nós os usamos.
(2) O objeto de solicitação é usado para obter a mensagem de solicitação e o objeto de resposta é usado para definir a mensagem de resposta

função de solicitação
1. Obter dados da mensagem de solicitação Obter dados da
linha de solicitação
Por exemplo, GET / day14 / demo1? name = zhangsan Método HTTP / 1.1
:
(1) Método de obtenção de solicitação: GET
String getMethod()

(2) Obtenha o diretório virtual: / dia14 (ênfase)
String getContextPath()

(3) Obtenha o caminho do Servlet: / demo1
String getServletPath()

(4) Obtenha o parâmetro de solicitação do método get: name = zhangsan
String getQueryString()

(5) Obtenha o URI de solicitação: / day14 / demo1 (ponto-chave)
String getRequestURI Obtenha: / day14 / demo1
StringBuffer getRequestURLObtenha: http: // localhost / day14 / demo1

(6) Obtenha o protocolo e a versão: HTTP / 1.1
String getProtocol()

(7) Obtenha o endereço IP do cliente:
Sting getRemoteAddr()

2. Obtenha os dados do cabeçalho da solicitação
Método:
(1) Obtenha o valor do cabeçalho da solicitação pelo nome do cabeçalho da solicitação
String getHeader(String name)
(2) Obtenha o nome de todos os cabeçalhos da solicitação
Enumeration<String> getHeaderNames()

3. Obter dados do corpo da solicitação Corpo da
solicitação: Apenas o método de solicitação POST tem um corpo de solicitação. Os parâmetros de solicitação da solicitação POST são encapsulados no corpo da solicitação.
Etapas:
(1) Obter o objeto de fluxo
BufferedReader getReader()Obtenha o fluxo de entrada de caractere e somente opere os dados de caractere para
ServletInputStream getInputStream()obter o caractere Limitando o fluxo de entrada, você pode manipular todos os tipos de dados
(2) Obter dados do objeto de fluxo

4. Outras funções
(1) Método geral de obtenção de parâmetros de solicitação (tanto get request quanto post request podem ser usados)
String getParameter(String name) Obtenha o valor do parâmetro de
String[] getParameterValues(String name)acordo com o nome do parâmetro Obtenha a matriz do valor do parâmetro de acordo com o nome
Enumeration<String> getParameterNames()do parâmetroObtenhao nome do parâmetro de todas as solicitações
Map<String, String[]> getParameterMap()Obtenha o conjunto de mapas de todos os parâmetros

Problema adulterado chinês:
método get: No Tomcat8, o problema do método get adulterado foi resolvido.
Método post: adulterado. Só precisa definir a codificação da solicitação antes de obter os parâmetros:request.setCharacterEncoding("utf-8");

(2)
Etapa de encaminhamento de solicitação :
Obtenha o objeto encaminhador de solicitação por meio do objeto de solicitação: RequestDispatcher getRequestDispatcher(String path)
Use o objeto RequestDispatcher para encaminhar:forward(ServletRequest request, ServletResponse response)

Funcionalidades: O
caminho da barra de endereço do navegador não muda e só
pode ser encaminhado para os recursos internos do servidor atual. O
encaminhamento é uma solicitação

(3)
Objeto de domínio de compartilhamento de dados : um objeto com um escopo que pode compartilhar dados dentro do
domínio de solicitação de escopo : representa o escopo de uma solicitação, geralmente usado para compartilhar dados entre vários recursos que solicitam encaminhamento

Método:
void setAttribute(String name, Object obj)Armazenar dados
Object getAttribute(String name)Obter valores
void removeAttribute(String name)por meio de chaves Remover pares de valores-chave por meio de chaves

(4) Obtenha ServletContext
ServletContext getServletContext()

Acho que você gosta

Origin blog.csdn.net/qq_42524288/article/details/104409702
Recomendado
Clasificación