This proposal has been approved and the Jakarta MVC project has been created.
Visit the project page for the latest information and development.

Jakarta MVC

Sunday, January 26, 2020 - 09:18 by Christian Kaltepoth
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Is this a specification project?
Patent License
Compatible Patent License
Project
Parent Project
Proposal State
Created
Background

MVC 1.0 as specified by JSR 371 was released January 22, 2020. The specification is a Java EE technology and fits very well among the other EE4J projects. It is also a very strong candidate for inclusion in future Jakarta EE releases.

Scope

Jakarta MVC defines a standard for creating web applications following the action-based model-view-controller pattern.

Description

Model-View-Controller, or MVC for short, is a common pattern in Web frameworks where it is used predominantly to build HTML applications. The model refers to the application’s data, the view to the application’s data presentation and the controller to the part of the system responsible for managing input, updating models and producing output.

Web UI frameworks can be categorized as action-based or component-based. In an action-based framework, HTTP requests are routed to controllers where they are turned into actions by application code; in a component-based framework, HTTP requests are grouped and typically handled by framework components with little or no interaction from application code. In other words, in a component-based framework, the majority of the controller logic is provided by the framework instead of the application.

Why Here?

See background section.

Future Work

The first release will be the namespace change from javax.* to jakarta.*. This will be done as soon as possible in order to be a candidate for inclusion in Jakarta EE 10.

Project Scheduling

Initial contributions can be done immediately after project approval. First release can be expected shortly thereafter.

Initial Contribution

Specification code (API + doc): https://github.com/mvc-spec/mvc-spec

TCK code: https://github.com/mvc-spec/mvc-tck

Related project: https://projects.eclipse.org/projects/ee4j.krazo (Compatible Implementation)

No third party libraries.

Depend on Jakarta CDI, Jakarta Bean Validation, Jakarta Restful Web Services, and Jakarta Annotations.

/*

 * Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved.

 * Copyright (c) 2016-2018 JSR 371 expert group and contributors

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */

Source Repository Type