Можно ли решить ограничение Spring Boot JSP? ⇐ JAVA
-
Anonymous
Можно ли решить ограничение Spring Boot JSP?
Поскольку я зарабатываю на жизнь разработкой и поддержкой корпоративных Java-приложений, я давно знал об ограничениях упаковки Spring Boot .jar в JSP. Но... я никогда не видел объяснения, почему.
Поскольку этот вопрос предназначен для человека с глубокими знаниями предмета, я собираюсь отказаться от многих попыток доказать свои исследования и то, как я сюда попал, но я потратил на это пару дней в течение моего праздничный перерыв в работе и у вас есть следующий вывод/вопрос:
Вывод: Насколько я могу судить, ограничение, похоже, связано с тем, что JSP полагается на RequestDispatcher. В свою очередь, RequestDispatcher имеет доступ только к ресурсам, которые находятся в контексте сервлета.
Вопрос: Нельзя ли «обновить» RequestDispatcher для обработки механизма типа «classpath:»? Потому что, разве не такой подход используют такие фреймворки, как Thymeleaf и т. д.?
Если ответ «нет», то я предполагаю, что причина связана с «безопасностью», но я не очень хорошо разбираюсь в этом уровне архитектуры J2EE, чтобы понять точную причину, поэтому надеюсь, что кто-нибудь может мне сказать /нас.
Похожий вопрос: Поскольку упаковка .war может быть исполняемой, есть ли обратная сторона простого использования упаковки .war? Я искал повсюду и не мог найти ответа на этот вопрос. На данный момент мне кажется, что ответ: «кого это волнует?»... просто упакуйте как .war.
пс. Это действительно серьезный вопрос, и я надеюсь, что другие поймут его мотивацию. Я не против «новых» технологий (т. е. шаблонов Thymeleaf в данном случае — и прошу прощения за то, что назвал их «новыми», когда эти альтернативы вполне проверены), но моя работа — помогать компаниям ориентироваться в этом ландшафте, и, давайте посмотрим правде в глаза, в J2EE с JSP вложено МНОГО времени и денег. Рефакторинг и движение вперед возможны, но это также требует вложения времени, которое, в свою очередь, является вложением денег, которые, как мы все знаем, ограничены.
Я также знаю о тенденции к переходу на интерфейсную (React и т. д.) архитектуру по сравнению с серверной (REST) и не согласен с ней. Просто это не тема данного поста.
Поскольку я зарабатываю на жизнь разработкой и поддержкой корпоративных Java-приложений, я давно знал об ограничениях упаковки Spring Boot .jar в JSP. Но... я никогда не видел объяснения, почему.
Поскольку этот вопрос предназначен для человека с глубокими знаниями предмета, я собираюсь отказаться от многих попыток доказать свои исследования и то, как я сюда попал, но я потратил на это пару дней в течение моего праздничный перерыв в работе и у вас есть следующий вывод/вопрос:
Вывод: Насколько я могу судить, ограничение, похоже, связано с тем, что JSP полагается на RequestDispatcher. В свою очередь, RequestDispatcher имеет доступ только к ресурсам, которые находятся в контексте сервлета.
Вопрос: Нельзя ли «обновить» RequestDispatcher для обработки механизма типа «classpath:»? Потому что, разве не такой подход используют такие фреймворки, как Thymeleaf и т. д.?
Если ответ «нет», то я предполагаю, что причина связана с «безопасностью», но я не очень хорошо разбираюсь в этом уровне архитектуры J2EE, чтобы понять точную причину, поэтому надеюсь, что кто-нибудь может мне сказать /нас.
Похожий вопрос: Поскольку упаковка .war может быть исполняемой, есть ли обратная сторона простого использования упаковки .war? Я искал повсюду и не мог найти ответа на этот вопрос. На данный момент мне кажется, что ответ: «кого это волнует?»... просто упакуйте как .war.
пс. Это действительно серьезный вопрос, и я надеюсь, что другие поймут его мотивацию. Я не против «новых» технологий (т. е. шаблонов Thymeleaf в данном случае — и прошу прощения за то, что назвал их «новыми», когда эти альтернативы вполне проверены), но моя работа — помогать компаниям ориентироваться в этом ландшафте, и, давайте посмотрим правде в глаза, в J2EE с JSP вложено МНОГО времени и денег. Рефакторинг и движение вперед возможны, но это также требует вложения времени, которое, в свою очередь, является вложением денег, которые, как мы все знаем, ограничены.
Я также знаю о тенденции к переходу на интерфейсную (React и т. д.) архитектуру по сравнению с серверной (REST) и не согласен с ней. Просто это не тема данного поста.
Мобильная версия