Um, explique a estrutura da solicitação HTTP:
- A solicitação HTTP consiste em três partes: linha de solicitação, cabeçalho da solicitação, linha de solicitação do corpo da
solicitação - normalmente na primeira linha de HTTP, indica o método de envio (get / post), o endereço de envio e o número da versão HTTP.
O cabeçalho do pedido -descreve as informações auxiliares enviadas do navegador para o servidor.
Accept-Language: zh-CN indica que o navegador usa preferencialmente chinês
User-Agent: representa o ambiente de uso do usuário (julgue se o usuário está usando um telefone celular ou acessando um computador e, em seguida, exiba continuamente de forma diferente de acordo com as especificações do navegador)
Conteúdo -Tipo: Explica o
corpo da solicitação de formato do formulário enviado - os dados reais enviados pelo navegador ao servidor. Na pergunta da solicitação, os dados usam a forma de pares chave-valor. A "chave" e o "valor" estão conectados por "=". Use "&" para separar vários pares de valores-chave. (O corpo da solicitação está presente apenas na solicitação de postagem e não há corpo da solicitação na solicitação get) O corpo da solicitação será anexado ao url e enviado ao servidor.
- Resposta - o resultado retornado pelo servidor ao navegador. A
resposta HTTP contém três partes: a linha de resposta, o cabeçalho da resposta e o corpo da resposta.
Linha de resposta - normalmente na primeira linha da resposta, contém a versão http, o código de status e a descrição em inglês do código de status.
200 - indica que o acesso foi bem
- sucedido 404 - indica que o recurso não foi encontrado
500 - representa um erro interno do servidor.
Cabeçalho de resposta - expressa algumas informações auxiliares dos dados retornados, qual servidor web é usado,
Serviço - significa qual servidor web é usado,
Content-Type: significa qual método o navegador usa para processar os dados depois que eles são retornados ao navegador. (Texto / html significa interpretar os dados retornados como html para exibição)
Data - o tempo do
corpo da resposta gerado pelos dados de resposta - os dados reais retornados pelo servidor ao navegador (fragmentos html, conteúdo binário, xml)
Em segundo lugar, explique o processo de execução do Servlet.
- O cliente envia uma solicitação http para o servidor tomcat, incluindo o endereço de mapeamento do servlet e os parâmetros a serem passados - "o tomcat analisa cada arquivo web.xml, encontra o url correspondente e o nome do servlet correspondente -" encontre o servlet correspondente de acordo com o nome do servlet, e para instanciar e inicializar este servlet- "Tomcat executa o método service () na instância do servlet-" Depois que o método é executado, o resultado da execução do programa é retornado ao navegador por meio da resposta- "O navegador recebe este código e explica isso.
3. Tempo de instanciação do Servlet:
Por padrão , o servlet é instanciado quando é acessado pela primeira vez.Você também pode configurar o loadon-startup por meio do web.xml para torná-lo instanciado quando a décima quinta fase iniciar.
Quarto, como o servlet lida com um ambiente concorrente?
O servlet é baseado na simultaneidade do processamento multi-thread de singleton. Use a tecnologia multi-threading para fornecer serviços da web.
5. No caso de processamento multi-thread, como resolver o problema de segurança de thread?
Todos os threads compartilham uma instância de servlet. Portanto, quando usamos servlet, não é permitido criar variáveis de estado e objetos no servlet. Porque isso produzirá resultados inesperados durante o acesso simultâneo.
Sexto, qual é o ciclo de vida do Servlet?
- Carregando - Quando o aplicativo java é iniciado, o tomcat fará a varredura do arquivo web.xml para saber quais servlets estão disponíveis no momento. (O servlet não será instanciado durante o carregamento) (Criação de objeto no nível java durante a criação)
- Create-Created quando o url acessa o endereço do servlet pela primeira vez. Ao mesmo tempo, o construtor é executado.
- Inicialização - Depois que o servlet cria o objeto, ele executa imediatamente a função de inicialização init () para inicializar o servlet. (A inicialização é um método usado exclusivamente pelo próprio servlet para inicializar os recursos de execução do servlet)
- Fornece o método service-service ().
Método servlce () - Para todas as solicitações de entrada (não importa se é post / get), o método servlet é usado para recebimento e processamento.
Se a solicitação for refinada, o método service () também pode ser refinado no método doGet () / doPost (). doGet () - lida apenas com solicitações de obtenção,
doPost () - lida apenas com solicitações de postagem. - Destroy-Use o método destroy () para destruir completamente os recursos do servlet quando o aplicativo da web for reiniciado ou fechado.
Sete, a diferença entre encaminhamento de solicitação e redirecionamento de resposta :
Existem duas maneiras de salto de recursos em javaweb:
- Encaminhamento de solicitação -é um salto do servidor, apenas uma solicitação será gerada. A solicitação será encaminhada para a próxima solicitação intacta. (Server Jump)
- 语法 : request.getRequestDispatcher (). Forward ();
- Processo de execução: O navegador envia uma solicitação para tomcat- "Depois que o tomcat recebe a solicitação, ele usa o servlet correspondente para processar a solicitação -" e executa request.getRequestDispatcher (). Forward (); - "deixa a solicitação intacta após o processamento. Distribuído para outro servlet- "Depois que o servlet processa a solicitação, ele gera um objeto de resposta-" Envie o resultado da resposta correspondente ao navegador por meio de tomcat- "O navegador vê o resultado da resposta final (há apenas uma solicitação globalmente e o recurso O salto é gerado dentro do servidor, e o navegador não pode senti-lo)
- Barra de endereço: o encaminhamento de solicitação exibirá apenas o único url solicitado
- Respondendo ao redirecionamento: é um redirecionamento no lado do navegador, que irá gerar 2 solicitações
- Sintaxe: response.sendRedirect ()
- Processo de execução: O navegador inicia uma solicitação para tomcat- "Após a entrega, servlet1 chama o método response.sendRedirect (), retorna uma resposta e a envia para o navegador por meio de tomcat, informando ao navegador para criar uma nova solicitação-" O navegador recebe as informações e as envia A segunda solicitação é para servlet2- "servlet2 processa a solicitação 2 e retorna o resultado para o navegador-" O navegador exibe o resultado
- Barra de endereços: Apenas o url
oito da segunda resposta será exibido.O princípio de funcionamento da sessão é a sessão -
também conhecida como sessão do usuário, que é vinculada à janela do navegador do cliente e armazenada nos dados internos do usuário do servidor.
O princípio de funcionamento da sessão é que após a conclusão do login do cliente, o servidor irá criar a sessão correspondente.Após a sessão ser criada, o id da sessão será enviado ao cliente, e o cliente irá armazená-lo no cookie do navegador. Enquanto o navegador não estiver fechado, esse cookie sempre existirá. Desta forma, cada vez que o cliente acessar o servidor, ele carregará a id de sessão, após o servidor obter a id de sessão, ele encontra a sessão correspondente na memória para que possa funcionar normalmente.
Oito, nove objetos JSP integrados:
processamento de dados
1. A diferença entre usar Statement e PreparedStatement em JDBC
-
PreparedStatement é uma instrução SQL pré-compilada, que é mais eficiente do que a instrução. Especialmente quando instruções SQL complexas são executadas ou um determinado SQL é executado com frequência, a vantagem da eficiência de execução é mais óbvia.
-
PreparedStatement oferece suporte a operações parametrizadas, que são mais flexíveis do que a instrução usando conexão de string para bloquear instruções SQL Melhor legibilidade
-
PreparedStatement pode evitar injeção de SQL e é mais seguro do que Statement
2. Explique as etapas para usar JDBC:
-
Carregue o driver JDBC
-
Criado no link do banco de dados (Conexão)
-
Comando de criação (PreparedStatement / Instrução)
-
Para os resultados do processamento da consulta, o objeto ResultSet é usado para receber e os resultados são processados por meio de travessia.
-
Fechar conexão de banco de dados