"Aqui estou. Conforme solicitado, agora vou lhe dizer como escrever seu primeiro servidor web."

"Um servidor web é como um sistema operacional. Não é valioso por si só. É valioso porque você pode executar programas especiais da web (servlets) nele. "

"São esses servlets que processam as solicitações que vêm dos usuários."

"Como eles processam as solicitações? Como executo meu programa dentro de um servidor web?"

"Para escrever seu próprio servlet, sua classe deve herdar a classe HttpServlet. Em seguida, implemente seus métodos doGet() e doPost(). Quando uma solicitação vem de um usuário, o servidor Web cria um de seus objetos servlet e chama seu doGet() método. Ou chama o método doPost(), dependendo do tipo de solicitação vinda do navegador."

"Mas como meu programa entra no servidor da web?"

"Isso é simples. Você escreve o programa, compila e coloca em uma pasta especial no diretório onde você instalou o Tomcat."

"Servlets são um tópico grande e interessante, mas separado. Portanto, não vou explicar isso para você hoje. Vou falar um pouco sobre outra coisa."

"JSPs são um tipo muito interessante de servlet chamado. Eles são como PHP."

"Vamos escrever e executar o programa da Web mais simples possível usando JSPs."

"Vamos lá! Estou pronto."

"Então vamos começar."

Etapa 1: criar um novo projeto da Web

Executar um aplicativo da Web simples - 1

"Feito."

Etapa 2: defina o tipo de módulo como Módulo Java. Defina o tipo de aplicativo como Web Application e especifique o JDK.

Executar um aplicativo da Web simples - 2

"Feito."

Etapa 3: dê um nome ao projeto

Executar um aplicativo da Web simples - 3

"Feito."

"Você deve ver um novo projeto vazio."

"Quase vazio. Incluirá um arquivo chamado index.jsp. Encontre-o."

Etapa 4: encontre o arquivo JSP

Executar um aplicativo da Web simples - 4

"Encontrei."

"Ótimo. Aqui é onde podemos escrever o código do nosso servlet."

"Mas vamos primeiro configurar um pouco o IntelliJ IDEA."

"Você pode executar servlets no Tomcat diretamente do IntelliJ IDEA. E depurá-los, se necessário. Basicamente, é super conveniente e incrível. Você vai gostar quando chegar a hora."

"Eu acredito em você. Então, o que vem a seguir?"

"Vamos 'ensinar' o IntelliJ IDEA a executar nosso módulo web (nosso aplicativo) no Tomcat."

Etapa 5: escolha 'Editar configuração' no menu

Executar um aplicativo da Web simples - 5

"Feito."

Etapa 6: crie uma nova configuração clicando no sinal de mais

Executar um aplicativo da Web simples - 6

"Feito."

Passo 7: Indique o que executar (Servidor Tomcat, Local)

Executar um aplicativo da Web simples - 7

"Especifique um nome para a configuração no campo Nome, que está marcado em vermelho."

"A porta na qual o Tomcat iniciará o servlet está indicada em verde."

"Também precisamos informar ao IntelliJ IDEA onde o Tomcat está localizado. Clique no botão Configurar..."

Etapa 8: criar uma configuração de execução

Execute um aplicativo da Web simples - 8

"Agora você precisa selecionar a pasta onde o Tomcat está localizado:"

Etapa 9: especificar a localização do Tomcat

Execute um aplicativo da Web simples - 9 Execute um aplicativo da Web simples - 10 Executar um aplicativo da Web simples - 11

"Feito."

"Você deve obter algo como isto:"

Etapa 10: configuração resultante

Executar um aplicativo da Web simples - 12

"Agora precisamos conectar nosso projeto ao Tomcat."

Há tanto que tem que ser feito. Ainda bem que tenho instruções tão detalhadas."

"Pode apostar! Eu tento pelo meu amigo."

"Agora pressione o botão Fix e o IDEA fará tudo sozinho."

Etapa 11: IDEA conecta o projeto e o Tomcat

Executar um aplicativo da Web simples - 13

"Feito."

"Ótimo. Mais um comentário. A porta 8080 provavelmente já está ocupada. Afinal, o Tomcat começou a rodar imediatamente após a instalação."

"O IntelliJ IDEA pode adicionar servlets a um projeto em execução, mas, para simplificar, por enquanto, ele iniciará um novo servidor Tomcat todas as vezes."

"Então, teremos vários Tomcats rodando?"

"Sim. E cada um precisa de sua própria porta. Então, vamos mudar a porta 8080 para a porta 8888 nas configurações do projeto."

"4 oitos. Eu gosto."

Etapa 12: altere a porta para 8888

Executar um aplicativo da Web simples - 14

"Feito."

"Ótimo. Terminamos com as configurações."

"Então o que vem depois?"

"Agora vamos mudar um pouco nosso arquivo index.jsp"

"Escreva algo lá, por exemplo, «Força para crustáceos!»"

Etapa 13: Alterar index.jsp

Execute um aplicativo da Web simples - 15

"Não, prefiro escrever «Poder para os robôs!»"

"Ótimo. Agora só falta um pouco."

Etapa 14: Execute o servlet e o Tomcat

Executar um aplicativo da Web simples - 16

"O log do Tomcat e o rastreamento de pilha devem estar visíveis. O log não deve conter erros."

"Algo assim:"

Passo 15 - Registro do Tomcat

Executar um aplicativo da Web simples - 17

"Ao mesmo tempo, o IDEA deve abrir um navegador com a URL do seu servlet."

"Você deve obter algo como isto:"

Etapa 16: Alterar index.jsp

Executar um aplicativo da Web simples - 18

"Sim. Isso é o que eu tenho. Legal!"

"E agora digite a seguinte URL no navegador:"

http://localhost:8888/index.jsp

"Nada mudou."

"Não diga isso."

Etapa 17: Alterar index.jsp

Executar um aplicativo da Web simples - 19

"Agora o navegador exibe o arquivo index.jsp que você viu no IntelliJ IDEA."

"A que eu troquei?"

"Sim."

"Mas se apenas o domínio for especificado na solicitação do navegador, e não o restante da solicitação, o manipulador padrão será chamado. Em nosso caso, é index.jsp."

"Suponha que você tenha três arquivos: index.jsp , apple.jsp , google.jsp . Veja como as coisas funcionarão:"

Solicitar Resposta
http://localhost:8888 index.jsp
http://localhost:8888/ index.jsp
http://localhost:8888/index.jsp index.jsp
http://localhost:8888/apple.jsp maçã.jsp
http://localhost:8888/ samsung.jsp Mensagem de erro: Servlet não encontrado
http://localhost:8888/google.jsp google.jsp
http://localhost:8888/ index Mensagem de erro: Servlet não encontrado

"Eu entendi aquilo."

"Bilaabo, você tem dito que os JSPs são incríveis há muito tempo. Mas eles são muito semelhantes às páginas HTML comuns. Tudo é exatamente igual."

"Bem, nem tudo. Tente adicionar o seguinte texto ao JSP:"

código JSP
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
<title>Amigo says hi</title>
</head>
<body>
<%--This is still HTML--%>
<%
// But I can write Java code here

String s = "Power to robots!";
for(int i=0; i<10; i++)
{
 out.println(s);
 out.println("<br>");
}

%>
<%--and this is HTML again--%>
</body>
</html>

"Você pode incorporar o código Java dentro de uma página JSP e ele será executado!

"O código Java em uma página JSP é chamado de scriptlet e está entre as tags <% e %>"

"Uau."

"OK. Vou escrever algumas páginas JSP por conta própria."

"Muito obrigado, Bilaabo."

"E obrigado a você, meu amigo!"