{"id":3540,"date":"2024-06-01T14:28:00","date_gmt":"2024-06-01T12:28:00","guid":{"rendered":"https:\/\/bob-team.de\/wordpress\/?p=3540"},"modified":"2026-02-09T08:13:21","modified_gmt":"2026-02-09T07:13:21","slug":"embedded-tomcat","status":"publish","type":"post","link":"https:\/\/bob-team.de\/wordpress\/2024\/06\/01\/embedded-tomcat\/","title":{"rendered":"Embedded Tomcat"},"content":{"rendered":"<p><a href=\"https:\/\/ducmanhphan.github.io\/2020-04-01-The-difference-between-web-server-web-container-application-server\/\">Web server, Web container and Application server<\/a><\/p>\n<p><a href=\"https:\/\/www.codejava.net\/servers\/tomcat\/how-to-embed-tomcat-server-into-java-web-applications\">Embed Tomcat Server 8<\/a><br \/>\nAPI 10.1: <a href=\"https:\/\/tomcat.apache.org\/tomcat-10.1-doc\/api\/org\/apache\/catalina\/startup\/Tomcat.html\">Tomcat<\/a> und <a href=\"https:\/\/tomcat.apache.org\/tomcat-10.1-doc\/api\/org\/apache\/catalina\/Context.html\">Context<\/a><\/p>\n<p><a href=\"https:\/\/www.oracle.com\/webfolder\/technetwork\/tutorials\/obe\/java\/basic_app_embedded_tomcat\/basic_app-tomcat-embedded.html\">Creating a Web App with Bootstrap and Tomcat 7 Embedded<\/a><br \/>\n<a href=\"https:\/\/www.theserverside.com\/tutorial\/How-to-embed-Tomcat-and-Java-web-apps-in-an-executable-JAR\">Embedded Tomcat 7 server in an executable JAR<\/a><br \/>\n<a href=\"https:\/\/www.codejava.net\/servers\/tomcat\/how-to-embed-tomcat-server-into-java-web-applications\">Embed Tomcat 8 Server into Java Web Applications<\/a><br \/>\n<a href=\"https:\/\/devcenter.heroku.com\/articles\/create-a-java-web-application-using-embedded-tomcat\">Using Embedded Tomcat 8.5<\/a><br \/>\n<a href=\"https:\/\/julianjupiter.com\/blog\/java-web-application-with-embedded-tomcat\/\">Application with Embedded Tomcat 9<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/65703840\/how-to-properly-configure-jakarta-ee-libraries-in-maven-pom-xml-for-tomcat\/65704617#65704617\" style=\"background-color: #ffff8f70;\">POM f\u00fcr Tomcat<\/a> + <a href=\"https:\/\/stackoverflow.com\/questions\/71383171\/simple-embedded-tomcat-10-example\" style=\"background-color: #ffff8f70;\">Embedded Tomcat 10 Example<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/76133642\/how-do-i-add-to-a-project-with-jsf-3-0-an-embedded-tomcat-server-10-1-5-that-run\" style=\"background-color: #ffff8f70;\">JSF 3.0 an embedded tomcat server 10.1.5<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/8081234\/how-to-properly-install-and-configure-jsf-libraries-via-maven\">install and configure JSF libraries<\/a><\/p>\n<p><a href=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2024\/07\/install_tomcat_10_1_5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2024\/07\/install_tomcat_10_1_5-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-3650\" \/><\/a><br \/>\n<a href=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2024\/07\/install_tomcat_hello.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2024\/07\/install_tomcat_hello-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-3651\" \/><\/a><br \/>\n<a href=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2024\/07\/install_jarkarty_ee.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2024\/07\/install_jarkarty_ee-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-3649\" \/><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/apache\/tomcat\">github.com\/apache\/tomcat<\/a><br \/>\n<a href=\"https:\/\/tomcat.apache.org\/tomcat-10.1-doc\/config\/index.html\">Apache Tomcat 10.1 &#8211; Configuration Reference<\/a><br \/>\n<a href=\"https:\/\/tomcat.apache.org\/tomcat-10.1-doc\/api\/index.html\">Apache Tomcat 10.1 &#8211; API<\/a><br \/>\n<a href=\"http:\/\/www.christianschenk.org\/blog\/setup-your-own-tomcat-security-realm\/\">Setup your own Tomcat security realm<\/a><br \/>\n<a href=\"http:\/\/www.r2u-systems.de\/blog\/tomcat-security-realm\"><del datetime=\"2024-04-06T12:11:44+00:00\">Tomcat REALMS<\/del><\/a><br \/>\n<a href=\"http:\/\/www.sachtechnologies.com\/blogs\/?p=27:configuring-https-on-tomcat\"><del datetime=\"2024-04-06T12:11:44+00:00\">Configuring HTTPS on Tomcat<\/del><\/a><br \/>\n<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-apache-tomcat-10-on-ubuntu-20-04\">Apache Tomcat 10 on Ubuntu 20.04<\/a><br \/>\n<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/steps-to-configure-ssl-on-tomcat-and-setup-auto-redirect-from-http-to-https\">Configure SSL on Tomcat<\/a><br \/>\n<a href=\"https:\/\/kishanthan.wordpress.com\/2013\/05\/12\/embedded-tomcat-tips-tricks-and-hacks\/\">Embedded Tomcat : Tips, Tricks and Hacks<\/a><\/p>\n<p>siehe auch: <a href=\"https:\/\/bob-team.de\/wordpress\/2018\/05\/26\/java-debugging\/\">Java Debugging<\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/132052\/servlet-for-serving-static-content\">a static resource servlet<\/a>, siehe auch <a href=\"https:\/\/balusc.omnifaces.org\/2009\/02\/fileservlet-supporting-resume-and.html\">BalusC<\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/14578794\/tomcat-embedded-correct-usage-of-addcontext-for-docbase\">addContext() vs. addWebapp()<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/6349472\/embedded-tomcat-not-serving-static-content\">DefaultServlet + JspServlet<\/a><\/p>\n<pre lang=\"java\">Wrapper defaultServlet = rootContext.createWrapper();\r\ndefaultServlet.setName(\"default\");\r\ndefaultServlet.setServletClass(\"org.apache.catalina.servlets.DefaultServlet\");\r\ndefaultServlet.addInitParameter(\"debug\", \"0\");\r\ndefaultServlet.addInitParameter(\"listings\", \"false\");\r\ndefaultServlet.setLoadOnStartup(1);\r\nrootContext.addChild(defaultServlet);\r\nrootContext.addServletMapping(\"\/\", \"default\");<\/pre>\n<p><strong>web.xml<\/strong><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/26089902\/webservlet-annotation-doesnt-work-with-tomcat-8\">metadata-complete=&#8220;false&#8220;<\/a><br \/>\n<code>org.apache.myfaces.annotation.USE_CDI_FOR_ANNOTATION_SCANNING = true<\/code><\/p>\n<p><strong>Navigation<\/strong><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/20280932\/how-to-configure-the-faces-config-xml\">https:\/\/stackoverflow.com\/<\/a><\/p>\n<p>The returned String from action method specifies the page which will be redirected.<\/p>\n<pre lang=\"java\">public String myAction() {\r\n    return \"navigatedPage\";\r\n}<\/pre>\n<p>If you want to redirect an exact URL you can use the following code snipped.<\/p>\n<pre lang=\"java\">ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();\r\nec.redirect(\"URL\");<\/pre>\n<p><strong>Weld<\/strong><\/p>\n<p><a href=\"https:\/\/weld.cdi-spec.org\/documentation\">https:\/\/weld.cdi-spec.org\/documentation<\/a><br \/>\n<a href=\"https:\/\/weld.cdi-spec.org\/news\/2022\/06\/24\/weld-501Final\/\">Tomcat 10.1 is available and supports EE 10<\/a><br \/>\n<a href=\"https:\/\/docs.jboss.org\/weld\/reference\/latest-5.1\/en-US\/html_single\/#weld_configuration\">https:\/\/docs.jboss.org\/weld\/reference\/latest-5.1<\/a><br \/>\n<a href=\"https:\/\/docs.jboss.org\/weld\/reference\/latest-5.1\/en-US\/html_single\/#tomcat\">Tomcat 10.1, which implements Servlet 5.0 specification, is supported.<\/a><br \/>\n<a href=\"https:\/\/devcodef1.com\/news\/1250996\/cdi-issue-with-tomcat-10-1-17-and-weld-5-1-2\">https:\/\/devcodef1.com\/news\/1250996\/cdi-issue-with-tomcat-10-1-17-and-weld-5-1-2<\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/75254294\/basic-weld-example-with-embedded-tomcat-not-working\">Basic Weld example with Embedded Tomcat not working<\/a><\/p>\n<pre lang=\"java\">\r\nWebResourceRoot webResourceRoot = new StandardRoot(ctx);\r\nwebResourceRoot.addPreResources(\r\n        new DirResourceSet(webResourceRoot, \"\/WEB-INF\/classes\", additionWebInfClasses.getAbsolutePath(), \"\/\"));\r\nctx.setResources(webResourceRoot); \/\/ this was missing \r\n<\/pre>\n<p><strong>Jakarta EE<\/strong><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/65703840\/how-to-properly-configure-jakarta-ee-libraries-in-maven-pom-xml-for-tomcat\">Tomcat 10.1.x, which is based on Servlet 6.0, JSP 3.1, EL 5.0, WS 2.1 and JASIC 3.0<\/a><br \/>\n<a href=\"https:\/\/jakarta.ee\/xml\/ns\/jakartaee\/#10\">https:\/\/jakarta.ee\/xml\/ns<\/a><br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=D1LZAaO_pxI&#038;list=PLFMhxiCgmMR9Pu0v-VjNdEaRLcoUqHLFT&#038;index=3\">Playlist: Getting Started with Jakarta EE 9<\/a><br \/>\n<a href=\"https:\/\/jakarta.ee\/learn\/starter-guides\/\">Starter Guides<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/tags\/el\/info\">About EL<\/a><\/p>\n<p><strong>CDI + JAX-RS<\/strong><\/p>\n<p><a href=\"https:\/\/docs.oracle.com\/javaee\/7\/tutorial\/cdi-basic001.htm\">Getting Started: Contexts and Dependency Injection (CDI)<\/a><br \/>\n<a href=\"https:\/\/openwebbeans.apache.org\/documentation.html\">Getting Started with CDI<\/a> + <a href=\"https:\/\/jakarta.ee\/learn\/docs\/jakartaee-tutorial\/9.1\/platform\/injection\/injection.html\">Jakarta EE Tutorial<\/a><br \/>\n<a href=\"https:\/\/tomcat.apache.org\/tomcat-10.1-doc\/cdi.html\">Tomcat 10: CDI 2, JAX-RS and dependent libraries support<\/a><br \/>\n<a href=\"https:\/\/balusc.omnifaces.org\/2013\/10\/how-to-install-cdi-in-tomcat.html\">https:\/\/balusc.omnifaces.org\/2013\/10\/how-to-install-cdi-in-tomcat.html<\/a><br \/>\n<a href=\"https:\/\/hantsy.gitbook.io\/java-ee-8-by-example\/jsf\/jsf-activation\">CDI in JSF 2.3, Java EE 7 to Java EE 8<\/a><\/p>\n<p><a href=\"https:\/\/medium.com\/danieldiasjava\/using-apache-openwebbeans-in-java-se-2af5d0312a22\">OpenWebBeans in Java SE<\/a><\/p>\n<p><strong>PrimeFaces<\/strong><\/p>\n<p>Grundlagen <a href=\"https:\/\/www.torsten-horn.de\/techdocs\/jsf.htm\"> JavaServer Faces (JSF)<\/a><br \/>\n<a href=\"https:\/\/www.pischka-it.de\/2020\/10\/19\/schnellstart-primefaces-8-mit-jsf-2-3\/\">PrimeFaces 8 mit JSF 2.3<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/6377798\/what-can-fmetadata-fviewparam-and-fviewaction-be-used-for\"> Process GET parameters + Performing business action on GET parameters<\/a><\/p>\n<hr\/>\n<pre lang=\"java\">bean-discovery-mode<\/pre>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/30128395\/identifying-and-solving-javax-el-propertynotfoundexception-target-unreachable\">Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable<\/a><br \/>\n<a href=\"https:\/\/stackoverflow.com\/questions\/27265646\/how-file-upload-works-in-apache-tomcat-using-primefaces\">How file upload works in apache tomcat using primefaces?<\/a><\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/38875899\/how-to-configure-jdbc-resource-in-embedded-tomcat-8\">How to configure JDBC Resource in Embedded Tomcat 8?<\/a><br \/>\n<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/tomcat-datasource-jndi-example-java\">Tomcat DataSource JNDI Example in Java<\/a><br \/>\n<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/javamail-example-send-mail-in-java-smtp\">JavaMail Example &#8211; Send Mail in Java using SMTP<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web server, Web container and Application server Embed Tomcat Server 8 API 10.1: Tomcat und Context Creating a Web App with Bootstrap and Tomcat 7 Embedded Embedded Tomcat 7 server in an executable JAR Embed Tomcat 8 Server into Java Web Applications Using Embedded Tomcat 8.5 Application with Embedded Tomcat 9 POM f\u00fcr Tomcat + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[209],"tags":[21],"class_list":["post-3540","post","type-post","status-publish","format-standard","hentry","category-javaee","tag-tomcat","entry"],"_links":{"self":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/3540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/comments?post=3540"}],"version-history":[{"count":52,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/3540\/revisions"}],"predecessor-version":[{"id":4305,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/3540\/revisions\/4305"}],"wp:attachment":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/media?parent=3540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/categories?post=3540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/tags?post=3540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}