Skip to content

Instantly share code, notes, and snippets.

@gabizinha12
Forked from alexandreaquiles/_README.md
Created November 22, 2022 15:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gabizinha12/afa968465784a8e23560b58af9c99077 to your computer and use it in GitHub Desktop.
Save gabizinha12/afa968465784a8e23560b58af9c99077 to your computer and use it in GitHub Desktop.
Como usar JSP com Spring Boot?

Como usar JSP com Spring Boot?

Passo a passo

No pom.xml, adicione as seguintes dependências:

<!-- JSP-->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

No application.properties, adicione as seguintes linhas:

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

Pronto! Agora coloque suas JSPs no diretório src/main/webapp/WEB-INF/views.

Por que as JSPs não funcionam por padrão no Spring Boot?

Na documentação do Spring Boot, são listadas algumas template engines que, assim como a JSP, geram um HTML:

As template engines mencionadas anteriormente são completamente controladas pelo Spring Boot.

Já com as JSPs, é o Servlet Container que transforma a JSP em uma Servlet.

Por padrão, o Spring Boot tem um Tomcat embutido, sem a necessidade de instalação. Mas o tratamento das JSPs é feito pelo Tomcat, não pelo Spring Boot.

Além do Tomcat, o Spring Boot suporta o Jetty (um Servlet Container como o Tomcat) e o Undertow. O Undertow não oferece suporte a JSPs.

Algumas limitações de usar JSPs em projetos Spring Boot:

  • Testes automatizados que usam @WebMcTest não conseguem obter o texto do HTML renderizado, limitando as verificações que podem ser feitas nos testes.
  • Páginas de erro customizadas não funcionam quando usamos JSPs com Spring Boot.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment