Skip to content

An experimental project aimed at migrating a Struts1.x-based legacy application to a Spring Boot architecture without any code change.

Notifications You must be signed in to change notification settings

springing-struts/struts1-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Springing struts1 core module

An experimental project aimed at migrating legacy Struts 1.x-based applications to a Spring Boot architecture with minimal code changes. Springing Struts1 is a Spring Boot-based web framework that provides a Struts 1.x-compatible API, enabling legacy Java systems to migrate to a modern architecture with reduced cost and risk.

How to use

Springing Struts 1 Core Module works as a drop-in replacement for the following modules:

  • org.apache.struts:struts-core:1.x
  • org.apache.struts:struts-extras:1.x
  • org.apache.struts:struts-taglib:1.x
  • org.apache.struts:struts-tiles:1.x
  • commons-validator:commons-validator:1.x
  • javax.servlet:servlet-api:2.x

For example, if your project is built with Maven, replacing the <dependency> entries for the above modules with the following entry will work.

    <dependency>
      <groupId>io.github.iwauo.springing-struts</groupId>
      <artifactId>struts1-core</artifactId>
      <version>0.0.5</version>
    </dependency>

Examples

The following projects demonstrate migration from the official Struts 1.x demo applications using this library:

How to build

Prerequisites

  • A Unix-based system (Mac, WSL2, SteamOS, etc.)
  • Mise version manager

Initial setup

Run the following commands in your terminal.

git clone https://github.com/springing-struts/struts1-core.git
cd struts1-core
mise install

build

./struts1-core/scripts/build.sh

About

An experimental project aimed at migrating a Struts1.x-based legacy application to a Spring Boot architecture without any code change.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages