Passagem de Parâmetros pela URL
Para passar parâmetros pela URL, devemos colocar no fim do endereço a “?”, e depois o nome do parâmetro, mais o sinal de igual (=), e a seguir o valor. Exemplo: http://localhost:8080/Carros/hello?nome=Michel&sobrenome=Medeiros.
Veja que para passar mais de um parâmetro o sinal de (&) faz a ligação. Agora vamos ver como passar parâmetros e ler os valores no servlet.
Note que se você não passar nenhum parâmetro o valor apresentado será null.
Passagem de Parâmetros por Formulário
Vamos agora passar valores por meio de um formulário. Por padrão tem uma página index.html. Apague este arquivo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <form method="post" action="<%=request.getContextPath()%>/hello"> Nome: <input type="text" name="nome" /> <br><br> Sobrenome: <input type="text" name="sobrenome" /> <br> <input type="submit" name="Enviar" /> </form> </body> </html> |
O formulário fica desta maneira.
Estamos utilizando o método post, se não colocar o “method” por padrão será o método get.
A diferença de utilizar o método get e post é a seguinte: o get passa os parâmetros pela URL e o post passa no corpo da requisição. O get deixa visível na URL os dados e o post não.
Se você enviar o formulário não acontecerá nada, porque não temos nada no método doPost no servlet HelloServlet.
Adicione a chamada doGet no método doPost e reinicie o servidor. Agora sim, irá funcionar.
1 2 3 4 5 |
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } |
Métodos do Protocolo HTTP (GET, POST, PUT, DELETE)
No exemplo anterior trabalhamos com dois métodos o get e post. Mas o protocolo HTTP tem outros recursos. Basicamente utilizaremos quatro: get, post, put e delete.
Vamos criar os métodos doPut e o doDelete. O doPost e o doGet já fizemos e testamos.
Adicione no servlet HelloServlet, o seguinte código:
1 2 3 4 5 6 7 8 9 10 11 |
@Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().print("Olá PUT"); } @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().print("Olá DELETE"); } |
Para testar os métodos PUT e DELETE vamos instalar o Insomnia. Segue o link para você fazer o download https://insomnia.rest/.
Vamos testar o DELETE, só adicionar a URL e escolher o DELETE e clicar no botão Send. Veja que a resposta é a que colocamos no método doDelete: Olá DELETE.
Para testar o PUT, basta mudar para PUT e clicar em Send.
Criamos um servlet, vimos como enviar dados para o servlet e conhecemos os quatro protocolos do HTTP mais utilizados na criação de um web service.
Fonte: Web Services Restful: Aprenda a Criar web Services RESTful em Java na Nuvem do Google
Deixe um comentário