• 传统支持JSP的复杂单体应用升级到Spring Boot 重点注意事项


    1.传统项目都是有各种配置的,不要@EnableAutoConfiguration。开启之后各种冲突,后患无穷。
    思维:Spring Boot的自动配置与传统配置,一个是自动一个是人为控制。离得目标近,圆上两点距离。
    策略:不要@EnableAutoConfiguration,报什么错误解决什么错误。人为控制,更易于达到升级的短期目标,长期目标当然是微服务。

    2.Spring Boot支持JSP
    Spring Boot Reference Documentation
    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-template-engines

    Template Engines
    As well as REST web services, you can also use Spring MVC to serve dynamic HTML content. Spring MVC supports a variety of templating technologies, including Thymeleaf, FreeMarker, and JSPs. Also, many other templating engines include their own Spring MVC integrations.

    Spring Boot includes auto-configuration support for the following templating engines:

    FreeMarker

    Groovy

    Thymeleaf

    Mustache

    If possible, JSPs should be avoided. There are several known limitations when using them with embedded servlet containers.
    如果可能,应该避免使用JSPs(各种副作用)。在embedded servlet containers【未确定此处和tomcat embed(7版本开始支持)是否为一回事】里使用有诸多已知限制。

    Spring Boot Reference Documentation
    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-jsp-limitations

    JSP Limitations
    When running a Spring Boot application that uses an embedded servlet container (and is packaged as an executable archive), there are some limitations in the JSP support.

    With Jetty and Tomcat, it should work if you use war packaging. An executable war will work when launched with java -jar, and will also be deployable to any standard container. JSPs are not supported when using an executable jar.
    在非嵌入式jetty和tomcat下,war包可以工作。可执行war包,用java -jar xxx.war,也可以工作,可以部署到各种标准容器中。使用可执行jar包(即java -jar xxx.jar[注意是jar不是war]),JSPs特性不能支持。{为什么不支持,可能和JSP的执行引擎Jasper2的运行机制或者路径判断有关吧?未深入研究}
    策略:1.只能达成war包(不可执行的或者可执行的)
    2.用容器或者java运行war包,支持JSPs。

    Undertow does not support JSPs.
    undertow直接不支持JSPs。

    Creating a custom error.jsp page does not override the default view for error handling. Custom error pages should be used instead.

    重要链接:
    https://stackoverflow.com/questions/42154614/springboot-embedded-tomcat-and-tomcat-embed-jasper

  • 相关阅读:
    centos 7离线安装中文版GitLab
    Oracle表名、列名、约束名的长度限制
    使用sparsecheckout命令克隆“部分”代码
    C专家编程(1)
    搜索相关性
    今日进度
    今日进度
    今日进度
    今日进度
    今日进度
  • 原文地址:https://www.cnblogs.com/rgqancy/p/13819960.html
Copyright © 2020-2023  润新知