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 |
|
|
Alcançando as variáveis padrão do cgi |
Para construir a aplicação bem sucedida da correia fotorreceptora, você necessita frequentemente saber muito sobre o ambiente em que está funcionando. Você pode necessitar encontrar para fora sobre o usuário que está executando seus servlets ou os específicos do cliente que está emitindo pedidos. E não importa o que o tipo do ambiente a aplicação está funcionando dentro, você necessita o mais certamente a informação sobre os pedidos que a aplicação está segurando.
|
Vantagens de usar Servlets sobre o cgi
|
- Tipo mais forte verificar. Ou seja mais ajuda do compilador em erros catching. Um programa do cgi usa uma função recuperar sua variável de ambiente. Muitos erros não podem ser encontrados até que causem o problema runtime. Vamos olhar como um programa e os servlets do cgi encontram o porto em que seu usuário está funcionando.
Um certificado do cgi escrito na chamada do Perl: $port = $ENV {“SERVER_PORT”}; o porto é uma variável untyped. Um programa do cgi escrito na chamada de C: A possibilidade para erros acidentais é também elevada. O nome da variável de ambiente poderia ser soletrado erradamente ou o tipo de dados não pôde combinar o que a variável de ambiente retorna.
Um servlet, na uma mão, chamada:
porto interno = req.getServerPort ()
Isto elimina muitos dos erros acidentais porque o compilador pode garantir que não há nenhum misspellings e cada tipo do retorno é enquanto deve ser.
Cálculo atrasado. Quando o usuário lança um programa do cgi, o valor para cada variável de ambiente deve ser precalculated e passado, se o programa do cgi a usa ou não. Um usuário que lança os servlets tem a opção para melhorar o desempenho por retardado estes cálculos e executá-lo na demanda como necessitada. Mais interação com usuário. Uma vez que o programa do cgi começa a execução, é untethered de seu usuário. O único trajeto de comunicação disponível ao programa é sua saída padrão. Um servlet, entretanto, pode também trabalhar com o usuário. Como discutido no último capítulo, um servlet opera-se dentro do usuário (quando possível) ou como process conectado fora do usuário (quando necessário). Usando este connectivity, um servlet pode fazer pedidos ad hoc para calculou a informação que somente o usuário pode fornecer. Por exemplo, um servlet pode ter seu usuário faz a tradução arbitrária do trajeto, fazendo exame na consideração dos pseudônimos e dos trajetos virtuais do usuário.
|
Variáveis de ambiente do cgi e os métodos correspondentes de Servlet
|
CGI Environment Variable |
HTTP Servlet Method |
SERVER_NAME |
req.getServerName() |
SERVER_SOFTWARE |
getServletContext().getServerInfo() |
SERVER_PROTOCOL |
req.getProtocol() |
SERVER_PORT |
req.getServerPort() |
REQUEST_METHOD |
req.getMethod() |
PATH_INFO |
req.getPathInfo() |
PATH_TRANSLATED |
req.getPathTranslated() |
SCRIPT_NAME |
req.getServletPath() |
DOCUMENT_ROOT |
req.getRealPath("/") |
QUERY_STRING |
req.getQueryString() |
REMOTE_HOST |
req.getRemoteHost() |
REMOTE_ADDR |
req.getRemoteAddr() |
AUTH_TYPE |
req.getAuthType() |
REMOTE_USER |
req.getRemoteUser() |
CONTENT_TYPE |
req.getContentType() |
CONTENT_LENGTH |
req.getContentLength() |
HTTP_ACCEPT |
req.getHeader("Accept") |
HTTP_USER_AGENT |
req.getHeader("User-Agent") |
HTTP_REFERER |
req.getHeader("Referer") |
|
O seguinte exemplo que lê todas as variáveis do cgi
|
importação java.io.*; importação javax.servlet.*; importação javax.servlet.http.*; importação java.util.*;
/** Cría uma tabela que mostra os valores de todas as variáveis do cgi. * * Parte do tutorial nos servlets e no JSP em que aparece * Marty 1999 Salão; pode livremente ser usado ou adaptado.
*/ a classe pública ShowCGIVariables estende HttpServlet
{ doGet vago do público (pedido de HttpServletRequest, Resposta de HttpServletResponse) throws ServletException, IOException
{ response.setContentType (“texto/HTML”); PrintWriter para fora = response.getWriter (); Amarrar [] [] variáveis =
{ {“AUTH_TYPE”, request.getAuthType ()}, {“CONTENT_LENGTH”, String.valueOf (request.getContentLength ()) }, {“CONTENT_TYPE”, request.getContentType ()}, {“DOCUMENT_ROOT”, getServletContext () .getRealPath (”/“)}, {“PATH_INFO”, request.getPathInfo ()}, {“PATH_TRANSLATED”, request.getPathTranslated ()}, {“QUERY_STRING”, request.getQueryString ()}, {“REMOTE_ADDR”, request.getRemoteAddr ()}, {“REMOTE_HOST”, request.getRemoteHost ()}, {“REMOTE_USER”, request.getRemoteUser ()}, {“REQUEST_METHOD”, request.getMethod ()}, {“SCRIPT_NAME”, request.getServletPath ()}, {“SERVER_NAME”, request.getServerName ()}, {“SERVER_PORT”, String.valueOf (request.getServerPort ()) }, {“SERVER_PROTOCOL”, request.getProtocol ()}, {“SERVER_SOFTWARE”, getServletContext () .getServerInfo ()}
}; Título da corda = de “exemplo Servlet: Mostrando variáveis do cgi”; out.println (ServletUtilities.headWithTitle (título) + “bgcolor= <body \ “#FDF5E6 \ “> \ n” + “<h1 align= " centro " > + título + “</h1> \ n” + “boder=1 align= <table” " do centro \ n” + do “bgcolor= <tr \ “#FFAD00 \ “> \ n” + “<th>CGI Name<h1>Value variável”); para (i=0 interno; i
{ varName da corda = variáveis [i] [0]; varValue da corda = variáveis [i] [1]; se (zero do == do varValue)
varValue = “não especificado”; out.println (“<tr><td>” + varName + “<td>” + varValue);
} out.println (“</table></body></html>”);
}
doPost vago do público (pedido de HttpServletRequest, Resposta de HttpServletResponse) throws ServletException, IOException { doGet (pedido, resposta);
}
}
|
|
|
|
Keywords:
cgi tutorial,servlets tutorial,php variables,perl variables,cgi scripts,java servlets,mysql variables,cgi forms
|
|
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 |
|
|