Boa tarde, andei dando uma lida sobre JSP e SERVLETS, jsp consegui entender direitinho, pois programava em asp e o conceito de ambos são parecidos, mais quando li sobre SERVLETS não consegui entender muito bem, alguem saberia me explicar por favor…valeu
JSP e SERVLETS
10 Respostas
Aqui vai um artigo que eu usei pra entender!
http://www.imasters.com.br/artigo.php?cn=1256&cc=19
Supondo que você já tenha lido algo sobre os Servlets como escreveu, poste as duvidas que forem surgindo ai o pessoal vai te ajudando blz!?
Falou!
E ae dumestico, seguinte li este material e tinha lido tb um aqui do portal java, me corrija se eu estiver errado, o servlet nada mais é uma do que uma classe que herda certas funções da HTTOSERVLET e que tem funções de inicializar o servlet(init()) outros para executar e remover o servlets(run() e destroy), até achei o funcionamento parecido com o da thread, porém o que não entendi foi o seguinte, o servlet é criado para atender requisições do servidor, e tb interagir, ou seja, receber requisições trata-las e responde-las, mais com JSP tb não é possível fazer isto?
JSP e Servlet na pratica são a mesma coisa… 8O
um Servlet você cria, compila e coloca no servidor…
um JSP você cria e coloca no servidor, na primeira vez que ele for acessado, ele será compilado, e eis que surge como resultado da compilação um Servlet…
o bom do jsp e que por ele estar diretamente na pagina html você tem facilidades de construção de interface gráfica…
Geralmente os Servlets são usados para a logica de negocio da aplicação e jsp para a interface…
mais uma perguntinha, pelo que li os .jsp ficam dentro da pasta WEBAPPS, as classes dentro de WEBAPPS\classes…
Os servlets ficam dentro do classes tb?
como chamo um servlet estando dentro de um jsp?
mais uma perguntinha, pelo que li os .jsp ficam dentro da pasta WEBAPPS, as classes dentro de WEBAPPS\classes…Os servlets ficam dentro do classes tb?
como chamo um servlet estando dentro de um jsp?
O jsp é feito para exibir o conteúdo para o Usuario, é uma interface com o mesmo…então vc pega as requisições que são feitas pelo usuário e transfere para um servlet e o servlet vai devolver as informações para o JSP(Usando BD e BEANs e etc…no meio) mas em resumo é isso!!
O jsp fica fora da extrutura
aplicativo
.jsp
|_web-inf
|_classes(.java)
Para chamar, digamos que vc tenha um formulário dentro de uma pagina jsp na action vc direciona para o servlet que vai tratar os campos
<form name=“tela” action=“MeuServlet” method=“post” target="_top" >
Até!!
Só para completar então, java beasn e servlets tem um papel bem parecido, me corrijam se estiver errado, e eu vi exemplos onde dentro do próprio servlet o cara escreve as tags html e tudo mais, fujindo um pouco do que vc falou de retornar os resultados para o jsp que monta a interface, isso tb é comum?
EU considero isso apenas para aprendizado pois essa não é a forma correta de se fazer um sistema usando camadas(apresentação,persistencia, negocio)
Vc deve separar seu sistema, eu nunca uso código HTML dentro de Servlet , nem codigo java dentro de JSP(Scriptles)…Claro vc pode fazer um sistema totalmente em jsp mas não é uma boa p´ratica e para dar suporte a isso é um inferno…
Não o Beans não é parecido com servlet, o Bean faz a parte de encapsulamento usando Gets e Sets…ex:
2 campos e 1 botão, a ação do formulário envia para o servlet o conteúdo desses campos beleza??
//MeuJsp.jsp
<form name="form" method="post" action="MeuServlet">
<input name="Nome" type="text" id="">
<input name="Sobrenome" type="text" id="">
<input name="Enviar" type="submit" value="Enviar">
</form>
o Servlet faz:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String x=request.getParameter("Nome");
String y=request.getParameter("SobreNome");
//coloca as strings em um atrributo
request.setAttribute("nome",x);
request.setAttribute("sobrenome",y);
//direciona para a pagina de exibição contendo esses atributos
request.getRequestDispatcher("ExibirDados.jps").forward(request,response);
}
Na pagina de exibição recupera os atributos usando JSTL ou Scriptles
…
Agora digamos que vc queira salvar isso em banco ou recupera, ae que entra os BEnas
private String nome=null;
private String sobrenome=null;
public void setNome(String nome){
this.nome=nome;
}
public int getNome(){
return nome;
}
//mesma coisa com sobrenome
Então seta e recupera usando beans…
È por ae…tem várias formas de ser feito a coisa!!
Até!!
Acho que entendi, muito bom teus exemplos, ou seja, a maneira correta de trabalhar é .jsp com html e sem utilizar codigo java, codigo java somente nos servlets e Beans, e o que diferencia Beans de Servlets é que não me ficou muito claro, seria somente pq o Servlets por herdar do HTTPSERVLET pode manter contato com formulários e já o beas não???
outra questão, além de formulários o que mais pode se comunicar com servlets?
Os javabeans, sáo usados pra vc transistar informações…
Os servlets vc deixa para fazer a logica de negócio (gravar no banco, etc…)
Como é feita esta transição de infrmações:
Na tua servlet vc cria uma instancia do bean, pega as informações vinda da jsp e popula esta instancia do bean.
Daí é só trabalhar com este objeto (inseri-lo no banco, etc…)…
Servlets podem se comunicar com outras servlets e com jsp’s.
Depois de vc ter feito toda a logica, vc manda estas informações para serem exibidas na tua jsp.
Isto permite o uso da orientação a objeto na lógica de negócio…