JSP por que usar?

Pessoal eu sou novo em programação, a única experiência que eu tenho é de estágio, essa semana o meu professor de programação web na faculdade mostrou o uso dos famigerados jsp’s.

foi uma aula rápida porem deu pra conhecer um pouco sobre os scriplets e os includes(incluir uma página jsp em outra) tal recurso me pareceu com um template engine que ja usei chamada thymeleaf.

Queria saber se ainda se usa muito o jsp no mercado(nunca vi usar), me pareceu um pouco arcaico. A principal função do jsp é contruir views?, também gostei do recuro de instanciar classes java direto em uma jsp, mas me pareceu muito estranho essa prática.

normalmente uso servlet(quando não uso jsf ou spring mvc) para receber os meus request seja ajax ou não, vi que com jsp não é necessário usar pelo menos para fazer um simples cadastro.

quais suas opiniões sobre jsp, ja é uma tecnologia velha? e sobre servlet(so uso para fazer coisas bem simples que não necessite de frameworks).

obrigado.

vc não precisa usar jsp.

mas a ideia é usar JSTL ao inves de scriptlet nos dias de hoje. fica mais facil de dar manutencao.

Obrigado pela resposta, JSTL. Só uma opinião pessoal(do pouco que conheço) oque eu fico olhando é porque não se usa um html comun, o bom e velho javascript e servlets para receber suas requisições, na minha opinião acho que o sistema fica muito amarrado em ficar usando só tecnologia java.

Mas sei que cada caso e um caso. Muito obrigado.

Se você tem um site que é basicamente estático, servir html diretamente é uma ótima idéia (veja geradores como este por exemplo)

Se tem uma aplicaçao mais dinâmica, você ainda pode escolher entre renderizar seu html no servidor ou no browser.
Para renderizar no servidor, você tem engines como jsp, velocity, thymeleaf, etc
Para renderizar no browser, você pode partir para coisas como angular, reactjs, elm(!!!)

E claro, pode sempre ter um misto de ambos. Afinal, hoje em dia, ninguém mais escreve apps totalmente renderizadas no servidor (exceto quem ainda faz isso, claro).

Cada escolha que faz terá vantagens e desvantagens, é importante manter a mente aberta para os prós e contras de cada, tentando se manter bem longe de mitos e achismos, muito comuns na nossa área.

Sim JSTL amarra. Servlet puro pra trabalhar com HTTP/REST é trabalhoso, a não ser que faça algo caseiro pra facilitar. Um exemplo que também é leve e não amarra, embora use ferramenta:


Vai dar manutenção em um sistema so com js e servlet pra vc ver.

Dica: nem sempre vc pode contar com js (pense em indexação pelo google, ambientes restritivos e com pouca memoria como mobile, ter como requisito funcionar em varios browsers incluindo IE6). Fora o fato que gerar uma tabela ou form é ridículamente simples de se fazer com JSTL e o resultado em html é facil de testar e de automatizar (vc nao vai depender de uma ferramenta mais avançada de testes que vai ter que esperar o js terminar).

Emfim hoje existe um movimento de react/redux pra levar a UI mais pro lado do js/client side. Isso não é ruim, mas pode ser desnecessariamente complicado. Fora que se o client tiver que fazer varios requests diferentes pra montar uma pagina isso pode ser lento (ou ter efeitos imprevisiveis).