aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Heher <jakob.heher@iaik.tugraz.at>2026-06-10 14:16:17 +0200
committerGitHub <noreply@github.com>2026-06-10 14:16:17 +0200
commitafbe8f6aee8d7554b52aa4aa24561731715695da (patch)
tree58f54225dedbd76adf152b9c2d246066e124e609
parent68165ce0bb979891fbbb6db7eb3d58c31aa1223a (diff)
downloadpdf-as-4-afbe8f6aee8d7554b52aa4aa24561731715695da.tar.gz
pdf-as-4-afbe8f6aee8d7554b52aa4aa24561731715695da.tar.bz2
pdf-as-4-afbe8f6aee8d7554b52aa4aa24561731715695da.zip
deployment fixes for external tomcat (#93)
-rw-r--r--pdf-as-web/build.gradle2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java10
-rw-r--r--pdf-as-web/src/main/webapp/META-INF/context.xml7
5 files changed, 15 insertions, 8 deletions
diff --git a/pdf-as-web/build.gradle b/pdf-as-web/build.gradle
index a5a56450..2fdc0376 100644
--- a/pdf-as-web/build.gradle
+++ b/pdf-as-web/build.gradle
@@ -77,7 +77,7 @@ dependencies {
api group: 'jakarta.jws', name: 'jakarta.jws-api', version: jakartaJwsVersion
compileOnly group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: jakartaServletVersion
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webmvc', version: springBootVersion
- providedRuntime group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: springBootVersion
+ providedRuntime group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat-runtime', version: springBootVersion
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: springBootVersion
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:3.0.3'
providedRuntime group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: tomcatVersion
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
index 7178e38d..a0c407c9 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java
@@ -269,7 +269,7 @@ public class PdfAsParameterExtractor {
return (String)request.getAttribute(PARAM_SIG_IDX);
}
- public static String getResonseMode(HttpServletRequest request) {
+ public static String getResponseMode(HttpServletRequest request) {
return (String)request.getAttribute(PARAM_RESPONSE_MODE);
}
}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
index 3b39ee16..546b07ac 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
@@ -336,7 +336,7 @@ public class ExternSignServlet extends HttpServlet {
String locale = PdfAsParameterExtractor.getLocale(request);
PdfAsHelper.setLocale(request, response, locale);
- String responseMode = PdfAsParameterExtractor.getResonseMode(request);
+ String responseMode = PdfAsParameterExtractor.getResponseMode(request);
PdfAsHelper.setResponseMode(request, response, responseMode);
String filename = PdfAsParameterExtractor.getFilename(request);
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java
index c9e06fb1..853920e0 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ContextXmlBridge.java
@@ -1,18 +1,18 @@
package at.gv.egiz.pdfas.web.web_xml_bridges;
import lombok.val;
-import org.apache.tomcat.util.http.Rfc6265CookieProcessor;
-import org.springframework.boot.tomcat.TomcatContextCustomizer;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-/** translates the tomcat context.xml file */
+/** translates the tomcat context.xml file for spring embedded tomcat */
@Configuration
+@ConditionalOnClass(name = "org.springframework.boot.tomcat.TomcatContextCustomizer")
public class ContextXmlBridge {
@Bean
- public TomcatContextCustomizer sameSiteNone() {
+ public org.springframework.boot.tomcat.TomcatContextCustomizer sameSiteNone() {
return ctx -> {
- val processor = new Rfc6265CookieProcessor();
+ val processor = new org.apache.tomcat.util.http.Rfc6265CookieProcessor();
processor.setSameSiteCookies("none");
ctx.setCookieProcessor(processor);
};
diff --git a/pdf-as-web/src/main/webapp/META-INF/context.xml b/pdf-as-web/src/main/webapp/META-INF/context.xml
new file mode 100644
index 00000000..166b6b7e
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/META-INF/context.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- this is for external tomcat deployments (spring-provided tomcat uses ContextXmlBridge instead) -->
+<Context>
+ <CookieProcessor
+ className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
+ sameSiteCookies="none" />
+</Context>