English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Instância Servlet

Servlet é um serviço HTTP e implementa javax.servlet.Servlet Classe Java de interface. Desenvolvedores de aplicativos web geralmente escrevem Servlets para estender javax.servlet.http.HttpServlet e implementar a classe abstrata de interface Servlet específica para lidar com solicitações HTTP.

Exemplo de código HelloWorld

A seguir está um exemplo de código-fonte de Servlet que imprime Hello World:

// Importar bibliotecas java necessárias
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extende a classe HttpServlet
public class HelloWorld extends HttpServlet {
 
  private String message;
  public void init() throws ServletException
  {
      // executar a inicialização necessária
      message = "Hello World";
  }
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // definir o tipo de conteúdo da resposta
      response.setContentType("text/html
      // A lógica real está aqui
      PrintWriter out = response.getWriter();
      out.println("<h1">" + message + "</h1});
  }
  
  public void destroy()
  {
      // nada
  }
}

Compile Servlet

Vamos escrever o código acima no arquivo HelloWorld.java, coloque este arquivo em C:\ServletDevel (no Windows) ou /usr/ServletDevel (no UNIX), você também precisa adicionar esses diretórios ao CLASSPATH.

Supondo que seu ambiente já esteja configurado corretamente, acesse ServletDevel diretório, e compile HelloWorld.java conforme mostrado a seguir:

$ javac HelloWorld.java

Se o Servlet depender de qualquer outra biblioteca, você deve incluir esses arquivos JAR no CLASSPATH. Aqui, apenas incluí o servlet-api.jar arquivo JAR, porque não uso nenhuma outra biblioteca no programa Hello World.

Este comando de linha de comando usa o compilador javac integrado no Java Development Kit (JDK) da Sun Microsystems. Para que este comando funcione corretamente, a variável de ambiente PATH precisa conter o caminho do SDK Java.

Se tudo der certo, o编译 acima gerará o arquivo HelloWorld.class na mesma pasta. No próximo capítulo, explicaremos como o Servlet compilado é implantado em produção.

Deploiamento Servlet

Padrão, o aplicativo Servlet está localizado na pasta <Tomcat-instalação-diretório>/webapps/ROOT, e o arquivo de classe deve estar dentro de <Tomcat-instalação-diretório>/webapps/ROOT/WEB-INF/classes.

Se você tiver um nome de classe completamente qualificado com.myorg.MyServletentão essa classe Servlet deve estar localizada em WEB-INF/classes/com/myorg/MyServlet.class.

Agora, vamos copiar HelloWorld.class para <Tomcat-instalação-diretório>/webapps/ROOT/WEB-INF/classes, e no local <Tomcat-instalação-diretório>/webapps/ROOT/WEB-INF/ do web.xml Crie o seguinte item no arquivo web.xml:

<web-app>      
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>

Os itens acima devem ser criados no arquivo web.xml no <web-app>.../web-app> etiqueta dentro. No arquivo, podem haver vários itens disponíveis, mas não se preocupe.

Até aqui, você praticamente já concluiu, agora vamos usar <Tomcat-instalação-diretório>\bin\startup.bat (no Windows) ou <Tomcat-instalação-diretório>/bin/startup.sh (no Linux)/Inicie o servidor Tomcat no Solaris e outros (por exemplo) e, em seguida, insira no campo de endereço do navegador http://localhost:8080/HelloWorldSe tudo estiver bem, você verá o resultado abaixo: