Depois de ler bastante, estou começando a modificar um sistema, utilizando mais padrões da J2EE (mais para aprender do q pra qq outra coisa). Até pouco tempo atrás, eu utilizava a velha dupla EJB-JSP.
Já implementei um Front Controller e algumas DAOs.
A minha dúvida, agora, está no Dispatcher(ou no seu auxiliar).
Não encontrei muita coisa sobre “melhores maneiras” de construir o dispatcher.
Tipo, qual a melhor maneira de indicar a próxima view?
A primeira maneira que imaginei foi a mais simples e lógica: passar a página pelo request, tipo. http://meusite.com/servlet/FrontControler?next=/views/thePage.jsp
Imagino que existem soluções muito melhores do que esta, apenas estou encontrando dificuldade de encontrar exemplos.
Alguém sabe onde posso encontrar estas dicas?
Seguinjte: a gente tambem usa model view controller no GUJ, soh que sem EJB, e DAO puro direto com JDBC.
Oproblema de voce usar o next, eh que as vezes as paginas tem mais de um next, certo? E ai como fica?
Entao as relacoes entre os views, ficam codificadas no proprio view. da uma olhada no guj, e ve o link de uma noticia ou artigo, tem uma url enorme, que diz o que o controlador tem de fazer, e que template ele tem de ir.
A parada do next, fica nos links e é passado pelo request. Ou seja, uma url ou link só pode ter um “next”. Naquele algoritimo q tentei explicar, a página X não tem um atributo “next fixo”. A página X pode ter diversos links, cada qual com um valor “next” diferente,q seria passado para o controller, qdo o link fosse clicado.
Eu já dei uma olhada no código do GUJ. Aliás gostei muito e pretendo usar velocity nas minhas próximas aplicações. Porém, não consegui adapatar o controller, para o meu problema atual.
O caso é o seguinte:
Já tenho o sistema todo feito com jsp como view, sem templates muito menos reuso de código nas jsp. Desta forma não me adianta muito o “linkão” cheio de parâmetros pra montar o template, pois são muito templates diferentes.
Neste monte de view, sem reuso de código, eu queria adaptar um controller. Daí que surgiu a dúvida de como usar um dispathcer eficiente, para este caso.
o principal objetivo de adicionar o controller na app, é o de aprendizado mesmo.
Certo.
Neste caso, onde a app já está pronta (c/ jsp fazendo chamadas no model) o controller seria apenas para centralizar as requisições, e ter maior controle sobre rotinas, como conexão e autenticação.