diff --git a/jakarta-servlet.spec b/jakarta-servlet.spec
new file mode 100644
index 0000000000000000000000000000000000000000..466bc8ea2ccae8e354410b3a11b341402d5471bb
--- /dev/null
+++ b/jakarta-servlet.spec
@@ -0,0 +1,67 @@
+%bcond_with bootstrap
+
+Name: jakarta-servlet
+Version: 5.0.0
+Release: 1
+Summary: Server-side API for handling HTTP requests and responses
+License: (EPL-2.0 or GPLv2 with exceptions) and ASL 2.0
+URL: https://github.com/eclipse-ee4j/servlet-api
+BuildArch: noarch
+
+Source0: https://github.com/eclipse-ee4j/servlet-api/archive/%{version}-RELEASE/servlet-api-%{version}.tar.gz
+
+BuildRequires: maven-local
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap
+%else
+BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
+%endif
+
+Provides: glassfish-servlet-api = %{version}-%{release}
+
+%description
+Jakarta Servlet defines a server-side API for handling HTTP requests
+and responses.
+
+%{?javadoc_package}
+
+%prep
+%setup -q -n servlet-api-%{version}-RELEASE
+
+%pom_remove_parent . api
+
+%pom_disable_module spec
+
+cp -pr api/src/main/java/jakarta api/src/main/java/javax
+sed -i -e 's/jakarta\./javax./g' $(find api/src/main/java/javax -name *.java)
+%pom_xpath_replace pom:instructions/pom:Export-Package \
+ 'jakarta.servlet.*,javax.servlet.*;version="4.0.0"' api
+
+%mvn_package jakarta.servlet:servlet-parent __noinstall
+
+%pom_remove_plugin -r :formatter-maven-plugin
+%pom_remove_plugin -r :impsort-maven-plugin
+%pom_remove_plugin -r :maven-enforcer-plugin
+%pom_remove_plugin -r :maven-javadoc-plugin
+%pom_remove_plugin -r :maven-source-plugin
+
+%mvn_alias jakarta.servlet:jakarta.servlet-api \
+ javax.servlet:javax.servlet-api \
+ javax.servlet:servlet-api
+
+%mvn_file :{*} %{name}/@1 glassfish-servlet-api
+
+%build
+%mvn_build
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%license LICENSE.md NOTICE.md
+%doc README.md
+
+%changelog
+* Thu Dec 23 2021 houyingchao - 5.0.0-1
+- Initial package
diff --git a/servlet-api-5.0.0.tar.gz b/servlet-api-5.0.0.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9ad14e7bf7125c658bbb739e386037e9549be730
Binary files /dev/null and b/servlet-api-5.0.0.tar.gz differ