HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Ciclo de vida de Servlets |
O ciclo de vida de Servlets tem os seguintes componentes:
- Segurado pelo recipiente dos servlets.
- Criar e inicializar os servlets.
- Punho zero ou mais atendimentos t�cnicos.
- Destruir e o lixo coleta os servlets.
- Os �nicos servlets citam como exemplo para segurar cada pedido
|
A arquitetura de Servlet ou o ciclo de vida b�sico
|
O recipiente de Servlet cr�a somente um exemplo de cada servlet mas o pedido de cada usu�rio � segurado com uma linha separada. Cada linha chama ent�o os m�todos do doGet ou do doPost. Esta id�ia � mostrada no Figure-5 acima.
o m�todo do init 1.The dos servlets est� chamado quando os servlets s�o criados primeiramente e cada vez o usu�rio recebe um pedido para servlets, o usu�rio spawns um m�todo novo do servi�o das chamadas da linha.
a verifica��o do m�todo do servi�o 2.The o tipo do pedido do HTTP (COME�AR, AJUSTAR, POSTO, SUPRESS�O, etc.) e chama o doGet, o doPost, o doPut, o doDelete, o m�todo etc. como apropriado.
3.Finally, o usu�rio pode decidir-se remover um servlet carregado precedente. Neste caso, as chamadas do usu�rio destroem o m�todo dos servlets.
|
HTTP
|
Antes que n�s possamos come�ar escrever o primeiro Servlets, n�s necessitamos saber alguns princ�pios de HTTP (de �protocolo de transfer�ncia hypertext�), o protocolo que � usado por um cliente de WWW (por exemplo um browser) emitir um pedido a um web server.
O HTTP � o protocolo orientado pe�-resposta. Um pedido do HTTP consiste em um m�todo do pedido, em um URI, nos campos do encabe�amento e em um corpo (que podem estar vazios). Uma resposta do HTTP contem campos do resultado e outra vez do encabe�amento e um corpo.
O m�todo do servi�o da expedi��o de HttpServlet um pedido aos m�todos diferentes de Java para m�todos diferentes do pedido do HTTP. Reconhece os m�todos HTTP/1.1 padr�o e n�o deve ser cancelado nos subclasses a menos que voc� necessitar executar m�todos adicionais. Os m�todos reconhecidos s�o COME�AM, POSTO, CABE�A, BORNE, SUPRESS�O, OP��ES e TRA�O. Outros m�todos s�o respondidos com um erro mau do HTTP do pedido. Um m�todo XXX do HTTP � despachado ao doXxx do m�todo de Java, por exemplo COME�A - > doGet. Todos estes m�todo esperam os par�metros �(req de HttpServletRequest, HttpServletResponse res)�. Os doOptions e o doTrace do m�todo t�m execu��es apropriadas do defeito e n�o s�o cancelados geralmente. O m�todo PRINCIPAL (que � suposto para retornar as mesmas linhas do encabe�amento que um m�todo COME�AR retornaria, mas n�o inclui um corpo) � executado chamando o doGet e ignorando toda a sa�da que for escrita por este m�todo. Esse deixa-nos com o doPost e o doDelete do doPut do doGet do m�todo cujas as execu��es do defeito em HttpServlet retornam um erro mau do HTTP do pedido. Um subclass de HttpServlet cancela um ou mais dos estes m�todo para fornecer uma execu��o significativa.
Os dados do pedido s�o passados a todos os m�todos com o primeiro argumento do tipo HttpServletRequest (que � um subclass da classe mais geral de ServletRequest). A resposta pode ser criada com os m�todos do segundo argumento do tipo HttpServletResponse (um subclass de ServletResponse).
Quando voc� pede um URL no web browser, o m�todo COME�AR est� usado para o pedido. Um pedido COME�AR n�o tem o corpo (isto � o corpo est� vazio). A resposta deve conter o corpo com os dados da resposta e os campos do encabe�amento que descrevem o corpo (especialmente �ndice-Tipo e �ndice-Codificar). Quando voc� emite um formul�rio do HTML, COME�AR ou AFIXAR a a��o pode ser usado. Com COME�AR pedir os par�metros s�o extremidade no URL, com um pedido que do BORNE s�o transmited no corpo. Pedidos POSTOS uso dos editores do HTML e das ferramentas do upload aos recursos do upload a um web server e aos pedidos da SUPRESS�O suprimir recursos.
|
Tipos de Servlet
|
M�todo cl�ssico do Servlets-servi�o ()
JSP's-Java Embeded em moldes do HTML
HTTP Servlets-doGet & doPost ()
Visual Servlets-Gerado pela idade visual
|
Pacotes em Servlets
|
H� dois tipos de pacote dispon�veis nos servlets que s�o como segue:
1.javax.servlet.*
2.javax.servlet.http.*
|
Rela��es em javax.servlet.*
|
RequestDispatcher
Servlet
ServletRequest
ServletResponse
ServletConfig
ServletContext
SingleThreadModel
|
classes em javax.servlet.*
|
GenericServlet
ServletInputStream
ServletOutputStream
ServletException
UnavailableException
|
Rela��es em javax.servlet.http.*
|
HttpServletRequest
HttpServletResponse
HttpSessionBindingListener
HttpSessionContext
HttpSession
|
classes em javax.servlet.http.*
|
Bolinho
HttpServlet
HttpUtils
HttpSessionBindingEvent
|
Objetos do espa�o de Servlet
|
O indicador do <minOccurs> especifica o n�mero m�nimo do tempo onde um elemento pode ocorrer:
|
H� quatro objetos do espa�o nos servlets que permite a informa��o compartilhando entre componentes da correia fotorreceptora. Os objetos do espa�o e suas classes correspondentes de Java s�o alistados abaixo:
Contexto javax.servlet.ServletContext da correia fotorreceptora
Pedido javax.servlet.HttpServletRequest
Sess�o javax.servlet.http.HttpSession
P�gina javax.servlet.jsp.PageContext
Voc� pode come�ar os valores do atributo dos objetos do espa�o do servlet usando o m�todo do getAttribute e ajustar valores novos dos atributos usando o m�todo do setAttribute. Por exemplo, voc� pode come�ar o IP address do cliente chamando o m�todo do getRemoteAddr da classe de HttpServletRequest.
|
Seguir exemplos imprime Hello o mundo no browser
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}
|
|
Para ser um servlet, uma classe deve estender o HttpServlet e cancelar o doGet ou o doPost (ou ambos), dependendo se os dados est�o sendo emitidos perto COME�A ou por BORNE. Estes m�todos fazem exame de dois argumentos: um HttpServletRequest e um HttpServletResponse. O HttpServletRequest tem os m�todos que o deixam encontrar para fora sobre a informa��o entrante tal como encabe�amentos dos dados do FORMUL�RIO, do pedido do HTTP, e o gosto.
O HttpServletResponse tem o m�todo que o deixa especificar o mais importante a linha da resposta do HTTP (200, 404, etc.), os encabe�amentos da resposta (�ndice-Tipo, Ajust-Bolinho, etc.), e, deixa-o obter um PrintWriter usado emitir para tr�s a sa�da ao cliente. Para o servlet simples, a maioria do esfor�o � gastado nas indica��es do println que geram a p�gina desejada. Anotar que o doGet e o doPost jogam a exce��o dois, assim que voc� � requerido inclui-lo na declara��o. Anotar tamb�m que voc� tem que importar as classes no java.io (para PrintWriter, etc.), javax.servlet (para HttpServlet, etc.), e javax.servlet.http (para HttpServletRequest e HttpServletResponse). Finalmente, anotar que o doGet e o doPost est�o chamados pelo m�todo do servi�o, e �s vezes voc� pode querer cancelar diretamente o servi�o, por exemplo para um servlet que segure ambos COME�AM e AFIXAM o pedido.
|
Compilando e instalando o Servlet
|
Anotar que os detalhes espec�ficos para instalar o servlet variam do web server ao web server. Consultar por favor a sua documenta��o do web server para os sentidos definitive. Os exemplos em linha est�o funcionando no web server de Java (JWS) 2.0, onde o servlet se espera estar em um diret�rio chamado servlets na hierarquia da instala��o de JWS. Entretanto, eu coloquei este servlets em um pacote separado (sal�o) para evitar conflitos com outros servlets neste usu�rio; voc� querer� fazer o mesmo se voc� estiver usando um web server que seja usado pelos povos e n�o tenha um infrastructure bom para �os usu�rios virtuais� para impedir automaticamente estes conflitos. Assim, HelloWorld.java vai realmente em um subdirectory chamado sal�o no diret�rio dos servlets.
Anotar que setup em a maioria outros de usu�rios � similar, e os servlets e os exemplos de JSP no tutorial foram testados tamb�m usando BEA WebLogic e IBM WebSphere 3.0. WebSphere tem um mecanismo excelente para usu�rios virtuais, e n�o � necess�rio usar unicamente pacotes impedir os conflitos conhecidos com outros usu�rios.
Se voc� nunca usar os pacotes antes, h� duas maneiras principais compilar as classes que est�o nos pacotes.
O one-way � ajustar seu CLASSPATH para apontar ao diret�rio acima de esse que contem realmente seus servlets. Voc� pode eles compilar normalmente dentro do diret�rio. Por exemplo, se seu diret�rio baixo fosse C:\JavaWebServer\servlets e seu nome do pacote (e assim nome do subdirectory) fosse o sal�o, e voc� estavam em Windows, voc� faria:
DOS> CLASSPATH= ajustado C:\JavaWebServer\servlets; %CLASSPATH% Cd C:\JavaWebServer\servlets\hall de DOS> Javac YourServlet.java de DOS>
A primeira parte, ajustando CLASSPATH, voc� quer provavelmente fazer permanentemente, melhor que cada vez que voc� come�a uma janela nova do DOS. Sobre voc� de Windows 95 /98 poria tipicamente �ajustou CLASSPATH=�� indica��o em sua lima de autoexec.bat em algum lugar ap�s a linha que ajustou CLASSPATH para apontar a servlet.jar e a jsp.jar. Em Windows NT, voc� iria come�ar o menu, ajustes seletos, painel de controle seleto, sistema seleto, ambiente seleto, a seguir incorpora a vari�vel e o valor. Anotar tamb�m que se seu pacote for do formul�rio name1.name2.name3 melhor que simplesmente de name1 como aqui, voc� im�vel teria o ponto de CLASSPATH ao diret�rio top-level de sua hierarquia do pacote (o um name1 contendo).
Uma segunda maneira compilar as classes que est�o nos pacotes � ir ao diret�rio acima de esse que contem seus servlets, e ent�o do �o diret�rio javac \ YourServlet.java� (Windows; anotar o backslash) ou do �o diret�rio javac/YourServlet.java� (Unix; anotar o slash para diante). Por exemplo, sup�r outra vez que seu diret�rio baixo � C:\JavaWebServer\servlets e seu nome do pacote (e assim nome do subdirectory) � o sal�o, e voc� estava em Windows. Nesse caso, voc� faria seguir:
Cd C:\JavaWebServer\servlets de DOS> Sal�o do javac de DOS> \ YourServlet.java
Anotar que, em Windows, a maioria de vers�es do JDK 1.1 do javac requerem um backslash, n�o um slash para diante, ap�s o nome de diret�rio. Isto � reparado em JDK 1.2, mas desde que muitos usu�rios da correia fotorreceptora s�o configurados para usar o JDK 1.1, muitos autores do servlet furam com JDK 1.1 para o portability.
Finalmente, uma outra op��o avan�ada � manter o c�digo de fonte em uma posi��o distinto das limas de .class, e usa a op��o de d dos javac �-� para instal�-las na posi��o que o web server espera.
|
Funcionando o Servlet
|
Com o web server de Java, o servlet � colocado no diret�rio dos servlets dentro do diret�rio principal da instala��o de JWS, e invocado atrav�s de http://host/servlet/ServletName. Anotar que o diret�rio � plural dos servlets, quando o URL consultar ao servlet, singular. Desde que este exemplo foi colocado no pacote do sal�o, seria invocado atrav�s de http://host/servlet/hall.HelloWorld. Outros usu�rios da correia fotorreceptora podem ter conven��es ligeiramente diferentes em onde instalar servlets e em como invoc�-los. A maioria de usu�rio deixou-o tamb�m definir pseud�nimos para servlets, de modo que um servlet pudesse ser invocado atrav�s de http://host/any-path/any-file.html. O processo para fazer isto � completamente usu�rio-espec�fico; verificar a documenta��o do seu usu�rio para ver se h� os detalhes.
|
Um Servlet que gere o HTML
|
A maioria de servlet gera HTML, texto nao liso como no exemplo precedente. Para fazer aquela, voc� necessita duas etapas adicionais: dizer ao browser que voc� est� emitindo para tr�s o HTML, e modifica as indica��es do println para construir um Web page legal. A primeira etapa � executada ajustando o �ndice-Tipo encabe�amento da resposta. No general, os encabe�amentos podem ser ajustados atrav�s do m�todo do setHeader de HttpServletResponse, mas ajustar o tipo satisfeito � uma tarefa t�o comum que h� tamb�m um m�todo especial do setContentType apenas para esta finalidade. Anotar que voc� necessita ajustar os encabe�amentos da resposta antes realmente de retornar algum do �ndice atrav�s do PrintWriter. Est� aqui um exemplo:
|
O seguinte programa chamado HelloWWW.java imprimir� Hellow WWW no browser no formato do HTML.
|
package hall;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWWW extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE&ht;Hello WWW</TITLE></HEAD>\n" +
"<BODY>\n" +
"<H1>Hello WWW</H1>\n" +
"</BODY></HTML>");
}
}
|
|
O/P:
|
|
Keywords:
servlets lifecycle,servlet lifecycle,jsp lifecycle,struts lifecycle,ejb lifecycle,servlets tutorial,java servlets,j2ee servlets
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|