Buscar

Servlets em Java_ Conceito, Criação, Funcionamento e Mapeamento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Antes de começarmos, saibam que o Java Servlet roda em um servidor de aplicação que fica
instalado no servidor. Um muito usado é o Apache Tomcat, não irei falar sobre ele já que não é o
foco deste artigo, mas espero que pesquisem um pouco sobre o mesmo e instalem-no na sua IDE
de preferência o eclipse, pois no ultimo tópico deste artigo faremos um exemplo usando o
Tomcat junto com o eclipse.
O que é um Servlet?
O nome “servlet” vem do inglês e dá uma ideia de servidor pequeno cujo objetivo basicamente é
receber requisições HTTP, processá-las e responder ao cliente, essa resposta pode ser um HTML, uma
imagem etc.
Em Java, procuramos sempre trabalhar orientado a objeto, portanto essa nosso servlet será também um
objeto de uma classe Java.
Relacionado: Curso de Java e Orientação a Objetos
O funcionamento se dá da seguinte forma:
1. Cliente (navegador) faz uma requisição HTTP ao servidor.
2. O servlet responsável trata a requisição e responde ao cliente de acordo.
3. O cliente recebe os dados e exibe.
Para esse artigo abordaremos os comportamentos de servlet que foram definidos na
classe HttpServlet do pacote javax.servlet , que é usada em quase em quase 99% dos casos.
Para criarmos uma classe servlet ela terá que ser subclasse de HttpServlet e sobrescrever o
método service() , que é responsável por receber as requisições e retornar suas respostas.Vejamos
como ficaria:
Listagem 01: Estrutura básica de um servlet.
public class OlaMundo extends HttpServlet 
protected void service HttpServletRequest request 
HttpServletResponse response 
throws ServletException IOException 
{
( ,
)
, {
https://www.devmedia.com.br/conheca-o-apache-tomcat/4546
https://www.devmedia.com.br/etapas-e-tempos-de-requisicoes-http/32618
https://www.devmedia.com.br/html-basico-codigos-html/16596
https://www.devmedia.com.br/programacao-orientada-a-objetos-com-java/18449
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940
https://www.devmedia.com.br/curso/basico-de-java-e-orientacao-a-objetos/360
Em outro tópico desse artigo irei mostrar um “hello world”, por isso deixemos o código da
listagem assim por enquanto.
Observação: em Java classes java são compiladas em bytecode, dessa forma nosso servlet
também será compilado.
Mapeamento do Servlet
Servlet definido, mas como acessá-lo pelo navegador? Para uma página HTML basta passarmos
a url e pronto, ela é interpretada pelo navegador, mas acessar a nossa classe pela url seria muito
complexo.
Para solucionar a questão, mapearemos nossa classe em URL’s dentro do arquivo web.xml que é
criado dentro da pasta WEB-INF automaticamente pela ide que você esteja usando. No próximo
tópico veremos a estrutura de diretórios.
Para mapearmos, usaremos as tags <servlet> e <servlert-mapping> .
Primeiro definiremos o nome do servlet e qual a classe dele. Depois diremos qual será a o
caminho que ele ficará acessível. Vejam:
Listagem 02: Mapeamento do servlet
Logo nosso servlet vai ficar acessível por http://localhost:8080/diretorio_do_projeto/olaMundo.
// tratamentos 
 }
}
servlet 
<servlet-name>olaServlet</servlet-name> 
<servlet-class>br servlets OlaMundo</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>olaServlet</servlet-name> 
<url-pattern>/olaMundo</url-pattern> 
</servlet-mapping>
< >
. .
Hello World
Vamos fazer o famoso hello world, e espero que já tenham instalado e configurado o tomcat
no Eclipse. O exemplo será de maneira objetiva, não irei me deter a detalhes.
Para isso deveremos criar um novo projeto do tipo Dynamic Web Project, digitar o nome do
projeto, use primeiroServlet , escolher o target runtime que é o tomcat e clicar em finish, responda
não a pergunta sobre mudar de perspectiva.
Agora na aba Servers clique com o botão direito no Tomcat e depois em Add and
Remove... agora basta adicionar o projeto que acabamos de criar.
Vejamos como fica a estrutura de diretórios gerada.
src - código fonte Java (.java)
build - onde o Eclipse compila as classes (.class)
WebContent - content directory (páginas, imagens, css etc vão aqui)
WebContent/WEB-INF/ - pasta oculta com configurações e recursos do projeto
WebContent/WEB-INF/lib/ - bibliotecas .jar .
WebContent/WEB-INF/classes/ - arquivos compilados são copiados para cá.
A pasta META-INF é opcional, mas é gerada pelo Eclipse. É onde fica o Arquivo de manifesto
como usado em arquivos .jar .
Agora, dentro de src , criaremos a classe br.servlets.OlaMundo.java com o seguinte conteúdo:
Listagem 03: Montando o servlet para o hello world
public class OlaMundo extends HttpServlet 
protected void service HttpServletRequest request 
HttpServletResponse response 
throws ServletException IOException 
PrintWriter out = response getWriter 
out println "<html>" 
out println "<body>" 
out println "Hello World" 
out println "</body>" 
out println "</html>" 
 
{
( ,
)
, {
. ();
. ( );
. ( );
. ( );
. ( );
. ( );
}
}
https://www.devmedia.com.br/conhecendo-o-eclipse-uma-apresentacao-detalhada-da-ide/25589
Não se esqueça de mapear o servlet no arquivo web.xml dentro de WEB-CONTENT/WEB-INF .
Você pode usar o mesmo código da Listagem 02 se quiser.
E vamos lá, façamos nosso primeiro teste em HTTP://localhost:8080/primeiroServlet/olaMundo.
Você pode querer saber
O JavaEE trabalha sobre o conceito de contextos Web para os diferentes sites e projetos no
mesmo servidor. Por padrão o Eclipse gera o context name com o mesmo nome do projeto, no
nosso caso primeiroServlet , por isso nosso servlet’s fica acessível por
localhost:8080/primeiroServlet, mas podemos alterar indo em Project > Properties > Web Project
Settings e mudando o Context Root.

Continue navegando