Quando eu uso JSF e tb tenho que usar Servlet?

Eu tava estudando JavaWeb ai tinha uma estrutura–> Classes+Servlet+JSP
Como é a estrutura do JSF??

Obrigado

O JSP na verdade é uma classe Java que ao final de tudo gera o HTML. Você não precisa de Servlets para isso, pode escrever todo seu código java dentro da própria página através dos scriplets. Mas essa prática atualmente é abominável uma vez que hacker pode fazer a festa, dificulta a programação e outras mil coisas a+.

Agora com JSF você irá necessitar ter ou JSP/ManagedBean ou xhtml/ManagedBean que é mais rápido que JSP.

[quote=jakefrog]O JSP na verdade é uma classe Java que ao final de tudo gera o HTML. Você não precisa de Servlets para isso, pode escrever todo seu código java dentro da própria página através dos scriplets. Mas essa prática atualmente é abominável uma vez que hacker pode fazer a festa, dificulta a programação e outras mil coisas a+.

Agora com JSF você irá necessitar ter ou JSP/ManagedBean ou xhtml/ManagedBean que é mais rápido que JSP.[/quote]

OK. Mais quando eu uso JSP(normal), eu posso fazer a referencia(acho que é esse o nome) eu posso fazer em um Servlet para meu web.xml não fica cheio e difícil de ler… ai eu faço no Servlet, com JSF eu tb posso fazer isso?
Outra coisa no JSP(normal) eu faço as classes(classes de negocio) e tudo, na Servlet eu só faço chamar e “ligo” com o JSP, ou seja o JSP não vai ter acesso direto nas classes (pois passa pelo Sevlet que chama as classes).
Ate onde eu to estudando JSF as JSP tem acesso direto nas classes, como resolvo isso? ou não tem problema?

Só mais uma duvida como eu chamo JSP(normal), pra não fica falando desse jeito(colocando o “normal”) ;; .
Obrigado.

[quote=xandi_m5][quote=jakefrog]O JSP na verdade é uma classe Java que ao final de tudo gera o HTML. Você não precisa de Servlets para isso, pode escrever todo seu código java dentro da própria página através dos scriplets. Mas essa prática atualmente é abominável uma vez que hacker pode fazer a festa, dificulta a programação e outras mil coisas a+.

Agora com JSF você irá necessitar ter ou JSP/ManagedBean ou xhtml/ManagedBean que é mais rápido que JSP.[/quote]

OK. Mais quando eu uso JSP(normal), eu posso fazer a referencia(acho que é esse o nome) eu posso fazer em um Servlet para meu web.xml não fica cheio e difícil de ler… ai eu faço no Servlet, com JSF eu tb posso fazer isso?
Outra coisa no JSP(normal) eu faço as classes(classes de negocio) e tudo, na Servlet eu só faço chamar e “ligo” com o JSP, ou seja o JSP não vai ter acesso direto nas classes (pois passa pelo Sevlet que chama as classes).
Ate onde eu to estudando JSF as JSP tem acesso direto nas classes, como resolvo isso? ou não tem problema?

Só mais uma duvida como eu chamo JSP(normal), pra não fica falando desse jeito(colocando o “normal”) ;; .
Obrigado.[/quote]

Meu caro,não se preocupe com o JSF por enquanto,ele só vai confundir os teus estudos.

  1. Não entendi, coloca algum código?
  2. Qual código que você viu que JSF tem acesso direto ao código diferentemente de JSP?
  3. Pode chamar de JSP sem falar normal que dá para entender que é uma página. [=

[quote=raf4ever][quote=xandi_m5][quote=jakefrog]O JSP na verdade é uma classe Java que ao final de tudo gera o HTML. Você não precisa de Servlets para isso, pode escrever todo seu código java dentro da própria página através dos scriplets. Mas essa prática atualmente é abominável uma vez que hacker pode fazer a festa, dificulta a programação e outras mil coisas a+.

Agora com JSF você irá necessitar ter ou JSP/ManagedBean ou xhtml/ManagedBean que é mais rápido que JSP.[/quote]

OK. Mais quando eu uso JSP(normal), eu posso fazer a referencia(acho que é esse o nome) eu posso fazer em um Servlet para meu web.xml não fica cheio e difícil de ler… ai eu faço no Servlet, com JSF eu tb posso fazer isso?
Outra coisa no JSP(normal) eu faço as classes(classes de negocio) e tudo, na Servlet eu só faço chamar e “ligo” com o JSP, ou seja o JSP não vai ter acesso direto nas classes (pois passa pelo Sevlet que chama as classes).
Ate onde eu to estudando JSF as JSP tem acesso direto nas classes, como resolvo isso? ou não tem problema?

Só mais uma duvida como eu chamo JSP(normal), pra não fica falando desse jeito(colocando o “normal”) ;; .
Obrigado.[/quote]

Meu caro,não se preocupe com o JSF por enquanto,ele só vai confundir os teus estudos.[/quote]

Eu estou tentando ser autodidata, pois aki não tem cursos… Tava estudando pela apostila da Caelum a parte de JSP(que eu acho que é o que devo saber) ja acabo. Adiante na apostila ensina Struts2 e VRapitor e por aki ninguem usa isso…
Então eu pulei e estou tentando estudar JSF (pois tá em alta).Entendeu?
Tem algo para mim estudar para eu entender mais JavaWeb??

ps: Eu programava JavaDesktop pois tive aulas na escola… mais ao “sair”(ainda estou na escola, mais um período é de estagio) da escola percebi que é pouco usado…Então fui pro WEB…

[quote=jakefrog]1) Não entendi, coloca algum código?
2) Qual código que você viu que JSF tem acesso direto ao código diferentemente de JSP?
3) Pode chamar de JSP sem falar normal que dá para entender que é uma página. [=[/quote]
Quando eu digo JSP eu quero mi referenciar um estrutura --> Classe + Servlet +JSP, não só a uma pagina Entende?

Código com acesso direto?:

Classe:

[code]package com.algaworks.dwjsf.visao;

public class InscricaoBean {
private String nome;
private String email;
private String mensagem;

public String inscrever() {
	if (nome == null || nome.length() < 10 || "".equals(email.trim())) {
		this.setMensagem("Informe corretamente o nome " + "e e-mail!");
		return null;
	}
	// verifica se cadastro é duplicado
	boolean duplicado = false;
	if (duplicado) {
		return "duplicado";
	}
	// armazena inscrição, limpa atributos do formulário
	// e retorna com sucesso
	// ...
	return "sucesso";
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

public String getMensagem() {
	return mensagem;
}

public void setMensagem(String mensagem) {
	this.mensagem = mensagem;
}

}[/code]

JSP:

[code]<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>

.:Inscrição:.


[/code]

Não, o Bean tem a mesma utilidade de um servlet entaõ seria

PessoaMB e dentro da classe você teria um objeto Pessoa.

E na sua página xhtml você utilizaria ${pessoaMB.pessoa.nome}

[=

[quote=jakefrog]Não, o Bean tem a mesma utilidade de um servlet entaõ seria

PessoaMB e dentro da classe você teria um objeto Pessoa.

E na sua página xhtml você utilizaria ${pessoaMB.pessoa.nome}

[=[/quote]

Ha!OK.
Se eu ultiliza BD eu fasso o classe da Conexão e chamo no bean né??

Eu tenho um sistema que uma função dele é enviar SMS usando um celular…
sabe como eu faria isso sendo WEB?? (eu sei que é avançado pra mim mais… tenho que fazer)

Vc responde MP ??

Pra que MP rapaz? Vamo continuar aqui mesmo que ta baum!

Sim, dentro do seu MB você chamaria sua classe DAO.

Em minha assinatura tem um hello world de JSF que poderá te dar uma boa noção sobre esse assunto. [=

[quote=jakefrog]Pra que MP rapaz? Vamo continuar aqui mesmo que ta baum!

Sim, dentro do seu MB você chamaria sua classe DAO.

Em minha assinatura tem um hello world de JSF que poderá te dar uma boa noção sobre esse assunto. [=[/quote]

MP era para duvidas futuras… =D
OK, vou dar uma olhada, qualquer coisa volto aki!

VLW!!!

JSF é uma especicação que acrescenta serviços em cima do JSP e Servlet…oque vc teria que fazer na unha, o JSF vem pronto para vc. A qualidade geral da aplicação fica outra…
Leia um livro sobre JSF para clarear as ideias - http://fernandofranzini.wordpress.com/2011/09/14/referencia-javaserver-faces-2/

leia as apostilas da K19 e da AlgaWorks sobre JSF.

Já li a da K19 mais entendi pouca coisa…
Dá algaworks to lendo agora to entendendo bastante coisa, muito boa!

Mais vlw!!

A especificação de java web é baseada em servlets e jsps (que são servlets, na verdade).
JSF é um conjunto de “facilitadores” criados em cima de servlets e jsps.
No final de tudo, ainda é executado em cima de uma servlet.

Boa tarde!

Cara, eu estou lendo a apostila da K19, baixei a da Alga aqui mas realmente para mim parece que a da K19 é bem mais atualizada e achei o conteúdo muito fácil de entender, até os exercícios que eles mandam fazer tem já prontos lá também.

Há algumas falhas, que na verdade não considero bem falhas, já que é uma apostila para ser usada em aulas, então… mas também não é nada que atrapalhe o aprendizado sozinho, pois assim como você estou estudando sozinho JSF.

Na assinatura do Jakefro realmente tem muita coisa interessante, ontem ele me ajudou em algo que eu não sabia e graças a ele em poucos minutos já sei como fazer, agora somente vou aperfeiçoar o que aprendi, logo que ler todas as apostilas da K19 referente Desenvolvimento web, já estou na metade da primeira, comecei hoje, cerca de 1:30 hora atrás.

Sobre seu tópico, respondendo… pelo que li, que alguém me corrija se eu estiver errado, o JSF é um framework que trabalha em cima do JSP e do Servlet porém de uma maneira mais bonita e organizada. Li algo assim faz poucos dias atrás quando comecei a estudar o JSF, como disse, se a informação que obtive estiver errada alguém me corrija por favor, assim não manterei um conceito errado de JSF logo no começo dos meus estudos sobre.

Abraço.

[quote=drsmachado]A especificação de java web é baseada em servlets e jsps (que são servlets, na verdade).
JSF é um conjunto de “facilitadores” criados em cima de servlets e jsps.
No final de tudo, ainda é executado em cima de uma servlet.[/quote]
Então fica assim Classes + Servlets + “JSF” ??

[quote=xandi_m5][quote=drsmachado]A especificação de java web é baseada em servlets e jsps (que são servlets, na verdade).
JSF é um conjunto de “facilitadores” criados em cima de servlets e jsps.
No final de tudo, ainda é executado em cima de uma servlet.[/quote]
Então fica assim Classes + Servlets + “JSF” ??[/quote]
não. tente pensar que o JSF substitue o Servlet.

classes (melhor se chamarmos de classes ou objetos de domínio) + JSF (ManagedBeans, Converters, etc no lugar dos Servlets) + JSP ou XHTML (se você estiver utilizando Facelets).

[quote=wbdsjunior][quote=xandi_m5][quote=drsmachado]A especificação de java web é baseada em servlets e jsps (que são servlets, na verdade).
JSF é um conjunto de “facilitadores” criados em cima de servlets e jsps.
No final de tudo, ainda é executado em cima de uma servlet.[/quote]
Então fica assim Classes + Servlets + “JSF” ??[/quote]
não. tente pensar que o JSF substitue o Servlet.

classes (melhor se chamarmos de classes ou objetos de domínio) + JSF (ManagedBeans, Converters, etc no lugar dos Servlets) + JSP ou XHTML (se você estiver utilizando Facelets).
[/quote]

Ha! Entendi então no caso se eu for fazer um CRUD eu teria:
Classe Conexão
Classe UsuariooBean
Classe UsuarioDAO
E JSP(com JSF + html ) ?? è isso ?

VLW vc ta ajudando muito!!

[quote=xandi_m5]Ha! Entendi então no caso se eu for fazer um CRUD eu teria:
Classe Conexão
Classe UsuariooBean
Classe UsuarioDAO
E JSP(com JSF + html ) ?? è isso ?

VLW vc ta ajudando muito!!
[/quote]
sim. mas seria melhor se você também tivesse o objeto do domínio, a classe Usuario.

algo como:

modelo/objeto do domínio:

[code]class Usuario {
String nomeUsuario;
String senha;

// gets e sets

}[/code]

controle/managed bean (substituindo o Servlet)

[code]public class UsuarioManager {
Usuario usuario;

public UsuarioManager() {
    usuario = new Usuario();
}

// get e set de usuário

public String inserir() {
    // instancia o DAO (que instancia a classe de conexão) e persiste o usuário

   return "alterar"; // página de alteração de usuário
}

// outros métodos

}[/code]

visualização/página jsp (trocando a action do form que chamava o servlet pelo managed bean)

[code]

<h:form>
<h:outputLabel value=“Nome de usuário”>

<h:inputText value="#{usuarioManager.usuario.nomeUsuario}">

    <!-- outros campos  -->

    <h:commandButton actionListener="#{usuarioManager.inserir}" value="Salvar" />

    <!-- outros botões, links, etc  -->
</h:form>
...
[/code]