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 |
|
|
Segurando o pedido do cliente: Dar forma a dados |
|
|
A diferença no meio COMEÇA e AFIXA o método
|
Quando o usuário incorpora a informação a um formulário e os cliques se submetem, há duas maneiras que a informação pode ser emitida do browser ao usuário: no URL, ou dentro do corpo do pedido do HTTP.
O método COMEÇAR, que foi usado no exemplo mais cedo, adiciona pares do nome/valor ao URL. Infelizmente, o comprimento do URL é deste método somente trabalhos limitados, assim que se houver somente alguns parâmetros. O URL poderia ser truncado se o formulário usasse um grande número parâmetro ou se os parâmetros contivessem quantidades grandes de dados. Também, os parâmetros passados no URL são visíveis no campo de endereço do browsernot o mais melhor lugar para que uma senha seja indicada.
A alternativa ao método COMEÇAR é método do BORNE. Este método empacota os pares do nome/valor dentro do corpo do pedido do HTTP, que faz para um URL do líquido de limpeza e não impõe nenhuma limitação do tamanho na saída dos formulários. É mais seguro.
|
Serviço, doGet, e doPost cancelando |
Quando um pedido é feito, as mãos do motor de Servlet nos dados entrantes ao motor de Servlet, que processa o pedido, including dados do formulário, bolinhos, informação da sessão, e de nome-valor do URL pares, em um objeto do tipo HttpServletRequest chamaram o objeto do pedido. Os metadata do cliente encapsulated como o objeto do tipo HttpServletResponse e são chamados o objeto da resposta. O motor de Servlet passa ambos os objetos enquanto os parâmetros a Servlets prestam serviços de manutenção () ao método.
O método do serviço do defeito () em servlets de um HTTP distribui o pedido a um outro método baseado no método de transferência do HTTP (o BORNE, COMEÇA, etc.) por exemplo, pedidos do BORNE do HTTP é distribuído ao método do doPost (), HTTP COMEÇA pedidos é distribuído ao método do doGet (), e assim por diante. Isto permite o Servlet de executar processar diferente em dados do pedido dependendo do método de transferência. Desde que o roteamento ocorre no serviço (), você geralmente não cancela o serviço () em um HTTP Servlet. Instead, doGet da ultrapassagem () e/ou doPost (), etc., dependendo do tipo de pedido você espera.
O roteamento automático em um HTTP Servlets é baseado simplesmente em uma chamada a request.getMethod (), que fornece o método de transferência do HTTP. No motor de Servlets, os dados do pedido são já preprocessed em uma lista do nome-valor pelo tempo onde o Servlet vê os dados, assim que em você poderiam simplesmente cancelar o método do serviço () em um HTTP Servlet sem perder nenhuma funcionalidade. Entretanto, isto faz o Servlet mais menos portátil, desde que é agora dependente em dados preprocessed do pedido.
Você deve cancelar o método do serviço () (para Servlets genérico) ou o doGet () e/ou métodos do doPost () (para servlets do HTTP) para executar as tarefas necessitadas responder ao pedido. Muito frequentemente, isto significa EJBs de acesso executar as transações de negócio, ordenando a informação needed (no objeto do pedido ou em um objeto de JDBC ResultSet), e então passando o índice para trás recentemente gerado ao JSP para o formato e a entrega ao cliente.
A maioria de operações que envolvem os formulários usam COMEÇAR ou uma operação do BORNE, assim que para a maioria de servlets que você cancela o doGet () ou o doPost (). Anotar que você pode executar ambos os métodos para fornecer para ambos os tipos de entrada, ou passar simplesmente o objeto do pedido a um método processando central
|
Sintaxe de usar o doGet
|
public void doGet (HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
...servlet code goes here...
}
|
|
Sintaxe de usar o doPost
|
public void doPost (HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
...servlet code goes here...
}
|
|
Todos os reais peç-por-pedem o tráfego em um HTTP Servlets são segurados no método apropriado do doOperation (), including a gerência da sessão, o authentication do usuário, despachar EJBs e JSPs, e o acesso de características do iAS.
Se você tiver um Servlets que você pretenda chamar também usando um método de RequestDispatcher incluir () ou enviar (), esteja ciente que a informação do pedido está emitida já não como o BORNE do HTTP, COMEÇAM, chamada dos métodos etc. RequestDispatcher sempre o serviço (). Ou seja se um servlet cancelar o doPost (), não pode processar qualquer coisa se um outro servlet o chamar, se o servlet de chamada acontecer ter recebido seus dados através do HTTP COMEÇAM. Para esta razão, ser certo executar rotinas para todos os tipos possíveis da entrada, como explicado acima.
Anotar dados binários arbitrários, como limas uploaded ou as imagens, podem ser problematic, desde que o conector da correia fotorreceptora traduz dados entrantes em pares do nome-valor pelo defeito. Você pode programar o conector da correia fotorreceptora para segurar corretamente este tipo dos dados e para empacotá-lo corretamente no objeto do pedido. Parâmetros de acesso e armazenar os dados
Os dados entrantes encapsulated no objeto do pedido. Para o servlet do HTTP, o objeto do pedido é do tipo HttpServletRequest. Para o servlet genérico, o objeto do pedido é do tipo ServletRequest. O objeto do pedido contem todos os parâmetros em um pedido, e você pode também ajustar seus próprios valores no pedido. O último é chamado atributo.
Você pode alcançar todos os parâmetros em um pedido entrante usando o método do getParameter ().
|
O seguinte exemplo descreve o uso do getParameter ()
|
String username = request.getParameter("accountNumber");
|
|
Você pode também ajustar-se e para recuperar valores no pedido objetar usando o setAttribute () e o getAttribute (), respectivamente.
|
O seguinte exemplo descreve o uso do setAttribute () |
request.setAttribute("accountNumber", "3284766");
|
|
Um exemplo completo que mostra o uso do método do doGet em Servlets
|
Step1: Fazer o formulário do HTML
Step2: Fazer a página correspondente de Servlets
|
Step1: Fazer o formulário do HTML
|
Aqui nós estamos fazemos um HTML dar forma a form.html chamado que seja dado abaixo:
|
<html>
<head>
<title>Introductions</title>
</head>
<body>
<form method=GET action="/servlet/name">
If you don't mind me asking, what is your name?
<input type=text name="name"><P>
<input type=submit>
</form>
</body>
</html>
|
|
Step2: Fazer a página correspondente de Servlets
|
Aqui nós estamos fazemos um filr de Servlets chamado name.java porque nós demos no trajeto do atributo da ação em form.html como o nome que é dado abaixo:
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class name extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
String name = req.getParameter("name");
out.println("<html>");
out.println("<head><title>Hello, " + name + "</title></head>");
out.println("<body>");
out.println("Hello, " + name);
out.println("</body></html>");
}
public String getServletInfo()
{
return "A servlet that knows the name of the person to whom it's" +
"saying hello";
}
}
|
|
Keywords:
Handling the Client Request:Form Data,asp net client,asp net data,vb net data,control data,data net,java client,data repeater
|
|
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 |
|
|