| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 11:53:41
|
Rafael ap.
JavaChild
![[Avatar]](/images/avatar/c1ca185ea0fad2ac9c1e9bf8e21c793e.jpg)
Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline
|
Como eu faço para o sistema executar um método sem ele ser implementado. Não sei se fui claro.
Por exemplo, no método doPost(), em uma servlet, eu defino o que vai acontecer quando ele
for "chamado", mas eu nunca o chamo, o servlet container o faz, eu acho. Então como eu faço
para que o mesmo ocorra em um sistema que eu estou desenvolvendo, para que eu só
defina o corpo de um método em algum lugar e o código que eu defini seja executado?
Não é uma necessidade que eu tenha, ainda, mas creio que entender seria bom.
This message was edited 1 time. Last update was at 10/02/2010 13:09:24
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:12:05
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Como assim sem chama-lo?
Voce quer criar o método e ele ser executado sózinho?
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:13:33
|
Metal Java Full
JavaTeenager
![[Avatar]](/images/avatar/52f625b672e781ecd9f026356caa645b.jpeg)
Membro desde: 09/11/2009 11:42:27
Mensagens: 195
Localização: Fortaleza - CE
Offline
|
Cara, que coisa mais sem sentido...
Tenta ser mais específico!!
|
Graduação em Análise de Sistemas - Fortaleza (CE)
Sun Certified Programmer for the Java Platform, Standard Edition 6.0
Visitem meu Blog
"Reduza a Velocidade - Travessia de Modems 2400bps." OS VIGARISTAS - Frases de Informática |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:17:37
|
Rafael ap.
JavaChild
![[Avatar]](/images/avatar/c1ca185ea0fad2ac9c1e9bf8e21c793e.jpg)
Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline
|
Exatamente como no exemplo que eu citei, usando servlets.
Em nenhum lugar do meu código eu escrevo
Mas ainda assim o que eu defino dentro desse método é executado.
Daí eu gostaria de saber como isso acontece e se eu posso implementar algo semelhante.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:22:19
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
Lá dentro do código do seu servidor, ele faz isso.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:25:34
|
Metal Java Full
JavaTeenager
![[Avatar]](/images/avatar/52f625b672e781ecd9f026356caa645b.jpeg)
Membro desde: 09/11/2009 11:42:27
Mensagens: 195
Localização: Fortaleza - CE
Offline
|
Exatamente.
Isso não fica visível a nós, apenas ao servidor (Tomcat, por exemplo) ...
|
Graduação em Análise de Sistemas - Fortaleza (CE)
Sun Certified Programmer for the Java Platform, Standard Edition 6.0
Visitem meu Blog
"Reduza a Velocidade - Travessia de Modems 2400bps." OS VIGARISTAS - Frases de Informática |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:27:09
|
Rafael ap.
JavaChild
![[Avatar]](/images/avatar/c1ca185ea0fad2ac9c1e9bf8e21c793e.jpg)
Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline
|
Então como eu faço algo parecido?
Por exemplo disponibilizar uma classe em que quem for
usar precise somente definir o corpo do método, e eu executá-lo
em um lugar que a pessoa não precise ter idéia de como ocorra.
É o que eu estava tentando pensar, mas não tive idéia.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:28:49
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
Mas enfim, se você quiser que seu usuário escreva classes, para posteriormente você chamar da sua aplicação, você pode usar a API de reflection. Assim: 1. Você carrega o .jar do seu usuário através de um ClassLoader; 2. Você usa reflexão para com base num arquivo de configuração (um xml, por exemplo), instanciar a classe do seu usuário; 3. Você obtém o método da classe, também via reflexão, e o invoca. É assim que o server e a maoria dos plugins trabalham.
This message was edited 1 time. Last update was at 10/02/2010 12:29:52
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 12:30:30
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Entendi o que você quer fazer. Você não quer escrever o código desde o "main"; você quer escrever um componente que possa ser chamado por um outro programa.
Normalmente o que você faz é o seguinte:
Para cada componente - A classe deve implementar uma determinada interface (recomendado), ou então derivar de uma determinada classe abstrata (o que é o caso de uma servlet, que deriva de HttpServlet). Derivar de uma classe abstrata normalmente não é recomendado porque deixa seu componente muito inflexível.
Para o programa que chama os componentes - Instanciar o componente por nome (Class.forName(), createInstance()) e então chamar os métodos adequados da interface que é implementada por esse componente.
OK?
This message was edited 1 time. Last update was at 10/02/2010 12:31:12
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 13:08:55
|
Rafael ap.
JavaChild
![[Avatar]](/images/avatar/c1ca185ea0fad2ac9c1e9bf8e21c793e.jpg)
Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline
|
Compreendido.
Acho que ainda está um pouco avançado pra mim, mas
estou dando uma olhada na idéia da interface
e na api reflection.
Obrigado.
|
|
|
 |
|
|