Pessoal, em ASP ou PHP quando necessito criar uma função onde poderá ser utilizada em várias partes do sistema, geralmente é criado um arquivo com esta função e quando necessário o uso é só fazer um include.
Para JSP isso é correto?
Quando temos uma função que poderá ser usada em várias partes do sistema(validação de um cpf, por exemplo), o que é correto fazer?
Olá!
Bom… respondendo a tua pergunta.
Ao meu ponto de vista, o mais simples é vc fazer uma classe normal(q não seja jsp nem servlet) e criar método estáticos para serem usados.
Ai no caso basta dentro do JSP vc colocar
Lipe, tudo bem…está bem claro pra mim sobre a separação de tudo.
Mas minha dúvida não bem isso. O que eu queria saber baseado na experiência que vc´s possuem em JAVA é qual a maneira mais usada para reutilizar uma função(no caso método).
Acho que com um exemplo fica melhor de entender:
Vamos dizer que eu tenha um bean e nele eu preciso validar o CPF por exemplo e lógicamente não vou escrever toda hora o código quando for utilizar.
O andre_a_s disse em criar classes e nelas terem métodos estáticos e quando precisar d um método eu faço a chamada.
E a pergunta é: Este é o jeito melhor?
Tipo criar um diretório com classes…tipo uma para validar CPF, outra CNPJ, etc…etc…
Só complementando a sua pergunta…
Vc não precisa ter uma classe para cada função, vc pode er uma Util.java
Nela vc teria metodos estatico como: validaCPF(), validaRG()… esses coisas. Ai quando vc precisar de um metodo especifico é só colocar Util.nomeDoMetodo().
Basicamente, pelo que me lembro, você valida no cliente e/ou no servidor.
No cliente, JavaScript. Sim, você pode usar uns includes para reaprveitar javascript.
No segundo, a validação deve estar dividida: o cara digitou letra no lugar do número e o Javascript não pegou? Validação no Servlet… O cara digitou um número <0 para diade? validação no próprio setIdade().
Ah, e dá uma olhada nos frameworks de valdiação, pelo menos, valem MUITO.
Outra coisa: acho que o nome Util eh muito generico. Crie uma Validadores, ou algo assim. Ah, e EVITE um excesso de classes com métodos estáticos, se não sua OO vira procedural novamente.
[quote=“pcalcado”]
No segundo, a validação deve estar dividida: o cara digitou letra no lugar do número e o Javascript não pegou? Validação no Servlet… O cara digitou um número <0 para diade? validação no próprio setIdade().
[]s[/quote]
Aí é que esta amigo…vou usar o seu próprio exemplo.
Eu vou validar algo no método setIdade() e vamos dizer que por um motivo qualquer eu precise desta mesma validação em outro método de outro BEAN. O que vc faria? Eu preciso reutilizar código novamente.
Concordo que do lado cliente devo usar JS mas nem sempre resolvo as coisas do lado cliente.
A questão de evitar métodos estáticos eu concordo e por isso compartilhei essa minha dúvida com vc´s.
Por que situações exclusivas sempre aparecem.
[quote=“prog”]
Concordo que do lado cliente devo usar JS mas nem sempre resolvo as coisas do lado cliente.[/quote]
Mas pelo menso faça um, semrpe. Evita um request no seu servidor a toa, isso reduz muito a carga. Acabo de sair de um projeto para um site de rpevidência e tal… vocês não tem noção de quanto os aposentados faziam request errado quando não tinha um javascript descente para falar ‘SEU BURRO, SÓ LETRAS!!!’…
Bom, faça do jeito que vc conseguir fazer, seja usando um monte de funções estáticas, seja usando herança ou o que for. Se funcionar, beleza, vc tá aprendendo mesmo. Depois do negócio estár funcionando vai começar a ver as outras possibilidade de fazer isso e vai achar o que vc fez uma porcaria.
Só espero que esse projeto que vc tá fazendo não entre em produção logo, fazer projeto sério em fase aprendizado é pedir por muitos problemas no futuro.
E quanto ao JS, acho que tem que usar sempre pra evitar os requests, mas nunca deixa a validação só no lado cliente, faça a validação de novo no lado server por segurança pq JS é fácilmente burlável.