Eu tenho perguntado a muitas pessoas por onde começar a aprender desenvolvimento web em java, eu já conheço java principal (Threading, Genéricos, Coleções, uma pequena experiência com (JDBC)), mas não conheço JSPs e servlets. Fiz o meu quinhão de desenvolvimento com vários aplicativos baseados na Web usando PHP para servidor e HTML, CSS, Javascript, HTML5 para cliente.
A maioria das pessoas que eu pedi me disse para ir direto ao Hibernate, enquanto outras me disseram que eu não precisava aprender servlets e jsps, e eu deveria estudar imediatamente a estrutura do Spring. Isso é verdade? não preciso aprender servlets e JSPs para aprender hibernação ou Spring?
Todas as respostas deles me confundiram e agora estou completamente perdido o que aprender ou estudar. Sinto que, se eu deixasse de aprender JSP e servlets, perderia muitos conceitos importantes que certamente me ajudarão no futuro.
Portanto, a pergunta, eu preciso ter servlets de base / conhecimento e JSP para aprender o Spring ou o Hibernate ou qualquer outra estrutura da Web Java.
fonte
Bear Bibeault
, um desenvolvedor e autores conhecidos insiste que se aprenda JSP e Servlets antes de aprender QUALQUER estrutura. Alguém quer mostrar por que isso pode ou não ser aplicável hoje? Aqui está o post dele - coderanch.com/t/521300/JSP/java/JSP-servlets-strutsBear Bibeault
. Veja estes dois links - coderanch.com/t/633527/Spring/… e coderanch.com/t/633526/JSP/java/…Respostas:
Se você tem uma boa noção de HTML, CSS e JavaScript, tem muitas pessoas que acabam desenvolvendo a Web. Os conceitos por trás do JSP são muito semelhantes ao PHP. As peculiaridades são diferentes. Um servlet é o nome de um pedaço de código Java que atende a uma solicitação. É isso mesmo. Toda a estrutura original do Struts era um único servlet.
Eu adicionaria Tomcat ou Jetty à sua lista de tecnologias para aprender. O Tomcat é a implementação original do Java Servlet Container e também é um servidor da Web completo e bastante popular. O GlassFish é construído sobre ele. Eu tenho usado o Jetty em vez do Tomcat em meus projetos mais recentes porque é mais simples, mais flexível e mais rápido. O Jetty foi projetado para criar serviços da Web em vez de aplicativos da Web. Mas um aplicativo da Web é apenas um serviço da Web que serve HTML em resposta a solicitações HTTP brutas; portanto, se você entende o HTTP (com o qual pode aprender as partes importantes em poucas horas a um dia), é muito fácil trabalhar com ele.
Você pode criar um pequeno site com Tomcat e JSP ( tutorial aqui ou JSF), sabendo exatamente o que você sabe e passando algumas horas passando por tutoriais. Dessa forma, você pode começar onde se sentir confortável antes de se alongar. Em seguida, crie um javax.servlet.http.HttpServlet que escreva "<html> <head> <title> Olá </title> </head> <body> <h1> Olá, mundo </h1> </body> </ html > "para o objeto de resposta, liste-o no seu Tomcat web.xml e envie uma solicitação HTTP a partir de um navegador da web. Não é ciência de foguetes. Todas as estruturas da web Java são variações nessas duas atividades básicas.
Se você seguir a rota Jetty, é ainda menos estruturada. Confira este exemplo do Hello Jetty .
Se você quiser criar um blog ou site de comércio eletrônico padrão, eu começaria com o SquareSpace ou Wordpress ou algo assim. Você obtém tanto da prateleira que não há mais como justificar a codificação personalizada.
A força do Java para aplicativos da web é sua confiabilidade, manutenção e desempenho. PHP ou Ruby / Rails é mais simples, mas o Java será escalado o quanto você quiser. Não sou atropelado por nenhuma das estruturas da web Java. Quando você tem uma equipe trabalhando em um aplicativo Web grande ou precisa usar o Hibernate, uma estrutura como o Spring realmente brilha. A primavera é a mais popular. Quando você tiver alguma familiaridade com servlets e JSP / JSF, aprenda como o Spring vincula esses usuários a um modelo de dados.
Se você está criando um blog ou um sistema de gerenciamento de conteúdo, talvez possa se safar de um banco de dados NoSQL. Mas eu argumentaria que os bancos de dados NoSQL são basicamente apenas uma camada de cache em um sistema de arquivos, em vez de substituir os bancos de dados relacionais. Eu acho que é raro que um projeto que seja adequado para um banco de dados NoSQL seja apropriado para desenvolver em Java.
As coisas que ainda exigem código personalizado de alto desempenho (em Java, PHP, qualquer que seja) provavelmente terão um banco de dados relacional / SQL para alimentá-las. Eu recomendo que você tenha uma familiaridade básica com SQL e JDBC (Java Database Connectivity) primeiro. Depois de se sentir confortável com o mundo dos objetos Java e o mundo dos bancos de dados relacionais e SQL, você poderá aprender o Ebean / JPA (Java Persistence API) / ORM (Objeto para Mapeamento Relacional) que conecta o mundo dos objetos ao mundo relacional.
ORM são complicados e estranhos. A maioria acaba valendo a luta. Ebean é o mais simples que eu conheço. Estou mais confortável com ele após 8 meses do que com o Hibernate após 12 anos. Conheço muitas pessoas que usam o Spring com o Hibernate e elas não parecem ter nenhum problema, ou mesmo estão particularmente conscientes do que o Hibernate é ou faz, então eu diria que, se você for usar o Hibernate, faça-o através da primavera. Talvez apenas porque trabalhei com ele por mais tempo, eu consegui esboçar completamente o Hibernate com alguns mapas de hash para teste, o que é incrível (visão geral disponível mediante solicitação).
Você já possui algumas das habilidades mais importantes. Pegue os outros um de cada vez e tente não ficar sobrecarregado.
fonte
Bear Bibeault
, um desenvolvedor e autores conhecidos insiste que se aprenda JSP e Servlets antes de aprender QUALQUER estrutura. Gostaria de mostrar por que isso pode ou não ser aplicável hoje? Aqui está o post dele - coderanch.com/t/521300/JSP/java/JSP-servlets-strutsSugiro aprender sobre JSP e Servlets básicos, pois ele ajudará você a entender os conceitos simplificados no Spring. Como você tem experiência com CGIs baseados em PHP, a maioria dos JSP / Servlets oferece maneiras diferentes de fazer as coisas que você conhece, portanto, deve ser executado rapidamente. A coisa mais difícil que você pode encontrar será escolher os idiomas únicos no mundo java.
No que diz respeito ao Hibernate, eu concordo com o MebAlone e digo: aprenda-o se for necessário, mas se já estiver configurado, você poderá fazer 90% do que precisará, apenas utilizando o que os outros fizeram.
fonte
Parece que você deseja aprender o desenvolvimento web do lado do servidor com java. Existem várias estruturas. O Spring MVC é de fato o mais popular, é maduro, possui muitos recursos e é uma boa estrutura para conhecer. O Spring MVC e outras estruturas da web java abstraem a API do servlet java do programador - portanto, tecnicamente, você não precisa saber disso. Mas eu sugeriria aprender o básico - principalmente as principais classes. Um dia de estudo deve levá-lo até lá.
Quanto ao JSP, se você conhece PHP, já entende o essencial. JSP é a versão java do script do lado do servidor.
O Hibernate é uma implementação (a mais popular) do JPA, que é a especificação java para objetos persistentes no RDBMS. Com a explosão da popularidade dos bancos de dados NOSQL (Hadoop, Mongo, etc), o Hibernate é muito menos necessário do que era há 18 meses. Pessoalmente, aprendo tecnologias de armazenamento com base na necessidade de conhecimento, porque existem muitas delas e você perde o que não usa.
fonte
Resposta curta: não, você não precisa aprender Servlets e JSPs como um pré-requisito para o Spring MVC e muitos outros frameworks da Web Java.
Vamos tirar o Hibernate da cena primeiro. É uma estrutura de camada de persistência e não tem nada a ver com Servlets e JSPs.
A API do servlet é o nível mais baixo para quase todas as estruturas da web Java. Até JSPs são compilados em servlets.
O Spring MVC é uma camada no topo da API do Servlet com muitas extensões úteis e integração com o Spring Core. Você pode usar JSPs como um mecanismo de renderização para o Spring MVC. O tutorial do Spring MVC o levará desde o início até a criação de aplicativos da web. À medida que for avançando, você aprenderá sobre JSPs e estará bem equipado para entender a API do Servlet.
fonte
Bear Bibeault
, um desenvolvedor e autores conhecidos insiste que se aprenda JSP e Servlets antes de aprender QUALQUER estrutura. Gostaria de mostrar por que isso pode ou não ser aplicável hoje? Aqui está o post dele - coderanch.com/t/521300/JSP/java/JSP-servlets-strutsparece que você está preso em um problema que eu enfrentei recentemente. Meu objetivo era aprender o desenvolvimento do lado do servidor com Java. Então, comecei com servlets, entendi o funcionamento deles e escrevi alguns programas simples para rodar no servidor TomCat. TomCat, é um pré-requisito. Você definitivamente deve estar familiarizado com o TomCat, se quiser prosseguir. No que diz respeito ao struts2 ou Spring, struts2 e spring são estruturas criadas em servlets, o que torna essencial um profundo entendimento dos servlets se você deseja ser forte no básico. Comecei com os tutoriais do Java Brains. Para um iniciante, esses tutoriais são incríveis. Alguns trabalhos de Jakob Jenkov em seu blog também são realmente incríveis. Struts2 e Spring se tornam mais simples quando você conhece servlets. No que diz respeito ao hibernate, sugiro que você comece a se familiarizar com o JDBC. Vá passo a passo, servlets, struts, JDBC, Spring, Hibernate. Espero que minha resposta ajude :).
fonte