Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create rules for dropped servlet-based integrations #150

Open
jmle opened this issue Oct 2, 2024 · 2 comments
Open

Create rules for dropped servlet-based integrations #150

jmle opened this issue Oct 2, 2024 · 2 comments
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. spring-migration/6 Label for Spring Migration path 5 -> 6 spring-migration/6.0 Label for Spring Migration path 5.x -> 6.0

Comments

@jmle
Copy link
Contributor

jmle commented Oct 2, 2024

According to the migration guide:

Several outdated Servlet-based integrations have been dropped: e.g. Apache Commons FileUpload (org.springframework.web.multipart.commons.CommonsMultipartResolver), and Apache Tiles as well as FreeMarker JSP support in the corresponding org.springframework.web.servlet.view subpackages. We recommend org.springframework.web.multipart.support.StandardServletMultipartResolver for multipart file uploads and regular FreeMarker template views if needed, and a general focus on REST-oriented web architectures.

Investigate and create rules if necessary.

In the rule description and message, try to be as verbose and clear as possible. Code examples are always welcome and useful. Feel free to use markdown syntax for these.

@jmle jmle added spring-migration/6 Label for Spring Migration path 5 -> 6 spring-migration/6.0 Label for Spring Migration path 5.x -> 6.0 labels Oct 2, 2024
@konveyor-ci-bot konveyor-ci-bot bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Oct 2, 2024
@konveyor-ci-bot
Copy link

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@konveyor-ci-bot konveyor-ci-bot bot added needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Oct 2, 2024
@jmle jmle added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 24, 2024
@jmle
Copy link
Contributor Author

jmle commented Oct 24, 2024

Dropping Apache Tiles/Freemarker JSP would mean a migration in its own right. Some additional info:

In Spring 6, the focus has shifted towards:

StandardServletMultipartResolver: This is recommended for handling file uploads without Apache Commons FileUpload.
Pure FreeMarker Templates: If using FreeMarker, it’s suggested to use standard FreeMarker templates without JSP, leveraging FreeMarker’s native features for server-side rendering.
REST-Oriented Architectures: For web applications, Spring encourages REST-based backends with client-side rendering frameworks (like React, Angular, or Vue.js) or modern templating approaches, such as Thymeleaf.

Example Migration Approaches

Migrating from Apache Tiles:
Thymeleaf: Use Thymeleaf’s layout dialect to replicate the modular view composition offered by Tiles.
Client-Side Rendering: For more complex UIs, REST APIs with client-side frameworks are often recommended.
Migrating from FreeMarker JSP:
Standard FreeMarker Views: Use FreeMarker without JSP tags. Configure it with FreeMarkerConfigurer and FreeMarkerViewResolver.
Thymeleaf: If starting fresh, consider Thymeleaf as a flexible alternative to FreeMarker with rich templating features.

@jmle jmle added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Oct 29, 2024
@konveyor-ci-bot konveyor-ci-bot bot removed the needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. label Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. spring-migration/6 Label for Spring Migration path 5 -> 6 spring-migration/6.0 Label for Spring Migration path 5.x -> 6.0
Projects
None yet
Development

No branches or pull requests

1 participant