tomcat | open source implementation of the Java Servlet | Continuous Deployment library

 by   apache Java Version: 9.0.76 License: Apache-2.0

kandi X-RAY | tomcat Summary

kandi X-RAY | tomcat Summary

tomcat is a Java library typically used in Devops, Continuous Deployment, Spring Boot, Docker, Hibernate applications. tomcat has a Permissive License and it has high support. However tomcat has 1926 bugs, it has 27 vulnerabilities and it build file is not available. You can download it from GitHub.

The Apache Tomcat software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process. The Apache Tomcat software is developed in an open and participatory environment and released under the Apache License version 2. The Apache Tomcat project is intended to be a collaboration of the best-of-breed developers from around the world. We invite you to participate in this open development project. To learn more about getting involved, click here or keep reading. Apache Tomcat software powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page. Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              tomcat has a highly active ecosystem.
              It has 6722 star(s) with 4571 fork(s). There are 484 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              tomcat has no issues reported. There are 14 open pull requests and 0 closed requests.
              OutlinedDot
              It has a negative sentiment in the developer community.
              The latest version of tomcat is 9.0.76

            kandi-Quality Quality

              OutlinedDot
              tomcat has 1926 bugs (52 blocker, 25 critical, 1396 major, 453 minor) and 11664 code smells.

            kandi-Security Security

              tomcat has 12 vulnerability issues reported (0 critical, 2 high, 7 medium, 3 low).
              OutlinedDot
              tomcat code analysis shows 15 unresolved vulnerabilities (4 blocker, 7 critical, 4 major, 0 minor).
              There are 523 security hotspots that need review.

            kandi-License License

              tomcat is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              tomcat releases are not available. You will need to build from source code and install.
              tomcat has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions are available. Examples and code snippets are not available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed tomcat and discovered the below as its top functions. This is intended to give you an instant insight into tomcat implemented functionality, and help decide if they suit your requirements.
            • Merges the given set of fragments .
            • Handles the lock request .
            • Serves a resource .
            • Moves forward state to next state
            • Moves forward starting from the first non - numeric state
            • Connects to the server .
            • Parse pool properties .
            • Post parse request .
            • Prepares the request header .
            • Parse a request line .
            Get all kandi verified functions for this library.

            tomcat Key Features

            No Key Features are available at this moment for tomcat.

            tomcat Examples and Code Snippets

            No Code Snippets are available at this moment for tomcat.

            Community Discussions

            QUESTION

            Java RabbitMQ connection is already closed
            Asked 2021-Jun-15 at 10:14

            I need to push messages to external rabbitmq. My java configuration successfully declares queue to push, but every time I try to push, I have next exception:

            ...

            ANSWER

            Answered 2021-Jun-15 at 07:19

            I'm struggling to understand how that code fits together, but this part strikes me as definitely wrong:

            Source https://stackoverflow.com/questions/67981368

            QUESTION

            Getting 404 while trying to access endpoints using Jersey 3 and Tomcat 10
            Asked 2021-Jun-14 at 13:32

            Been trying for days to fix this problem. Just trying to recreate a simple "Hello World" REST api with Jersey 3 and Tomcat 10 in maven. After creating the WAR file of the project I can access the index.jsp (created by default when I created the project) but when I try to access the "/helloworld" endpoint I get error 404. Here's my code:

            pom.xml

            ...

            ANSWER

            Answered 2021-Jun-14 at 13:32

            Jersey requires an appropriate container module to deploy the REST application. You added jersey-container-jdk-http, which works with a JDK Http Server (cf. documentation).

            What you need instead is the jersey-container-servlet module (cf. documentation), which works in every Servlet 3.x environment. Therefore you need to add this dependency:

            Source https://stackoverflow.com/questions/67970675

            QUESTION

            ContextLoader - Root WebApplicationContext initialized 3 times on ubuntu tomcat
            Asked 2021-Jun-14 at 12:43

            Dears, I have a jersey - spring api deployed on apache tomcat 9.0.46. (Jersey to handle restful services JAX-RS and Spring to handle all my beans{controllers, DAO, SessionFactory, JPA etc...}). Everything works fine on tomcat 9 on windows... When deploying the exact same war in ubuntu tomcat 9.0.46, the ContextLoader is getting triggered 3 times and I have all my singletons instantiated 3 times. I'm deploying the api on tomcat ports 80 and 443 (https - godady certificate). once I start tomcat the war is deployed and ports 80 and 443 get started (netstat -tulnp | grep java) and I see in log all singletons instantiated. (pool-2) Applicationcontext class my custom spring @Configuration class and it is getting triggered and DB is accessed without any issues

            ...

            ANSWER

            Answered 2021-Jun-14 at 12:43

            I have managed to figure out the problem. The issue was related to tomcat configuration in /conf/server.xml. Multiple Hosts will trigger the context loader to be triggered for each. I was keeping the default appBase to webapps for all host thus triggering the ContextLoader of each my war for each host. Another reason the ContextLoader will triggered multiple times as well is defining the option inside unless you need to load something external to your war. I recommend reading specs: https://tomcat.apache.org/tomcat-4.1-doc/config/host.html

            Source https://stackoverflow.com/questions/67907215

            QUESTION

            how does spring boot auto configure the driver of a special datasource?
            Asked 2021-Jun-14 at 09:03

            Without spring boot ,we must specify the detail of a data source,right?

            ...

            ANSWER

            Answered 2021-Jun-14 at 08:59

            From DataSource Configuration in the docs:

            Spring Boot can deduce the JDBC driver class for most databases from the URL. If you need to specify a specific class, you can use the spring.datasource.driver-class-name property.

            So start without configuring anything and just putting the JDBC driver on the classpath. If it would not work, you can manually configure it.

            Source https://stackoverflow.com/questions/67967410

            QUESTION

            javax.naming.NoInitialContextException: Need to specify class name in environment or system property Heroku deploy
            Asked 2021-Jun-14 at 06:51

            Im trying to deploy a java web app to heroku, I did all their steps from https://devcenter.heroku.com/articles/deploying-java-applications-with-the-heroku-maven-plugin, but when I try to open a page where I have data from db I am getting:

            ...

            ANSWER

            Answered 2021-Jun-14 at 06:51

            changing pom.xml solved my problem:

            Source https://stackoverflow.com/questions/67911012

            QUESTION

            Can connect to website through direct external ip adress, cannot through domain
            Asked 2021-Jun-14 at 03:27

            I have a raspberry pi 4 running a tomcat server hosting my website. Right now it's blank, and I wanted to do connection tests on it before starting to build it. I am doing this to keep costs minimal and to be able to do other things with it later. However, as you can see in this image, I thought this was the way to set it up, but I get a 522 every time I try to connect to it. (I have IP blurred as it is my home IP). But, when I connect to the IP address directly, even through another wifi network, the page loads. Cloudflare has worked in the past when I was hosting on Google Firebase for a little bit, but once I switched to the pi, it stopped.

            Thanks in advance for help.

            ...

            ANSWER

            Answered 2021-Jun-14 at 03:27

            Cloudflare 522 errors are commonly caused by a wrong SSL configuration for your domain.

            If you do not have HTTPS enabled locally, then you need to use the Flexible SSL mode. If you have HTTPS enabled then you need to switch to Full mode.

            1. Choose the domain and go to the SSL/TLS tab
            2. Select the right SSL mode depending on your setup and validate if it works.

            You could have been using a different configuration when you were with Google.

            See this link for more info: https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes

            Source https://stackoverflow.com/questions/67913453

            QUESTION

            org.springframework.security.web.access.AccessDeniedException: Access is Denied
            Asked 2021-Jun-14 at 02:53

            dispatcher-servlet.xml

            ...

            ANSWER

            Answered 2021-Jun-14 at 02:53

            This issue is solved after correcting up my code

            Source https://stackoverflow.com/questions/67764058

            QUESTION

            Settings for VM using tomcat with intellij
            Asked 2021-Jun-13 at 14:27

            What does the -D stand for when setting VM settings in Eclipse and ItelliJ?

            Is there a way to increase the connectionTimeout for Tomcat in IntelliJ?

            ...

            ANSWER

            Answered 2021-Jun-12 at 15:52

            This is a vague question. The -D is a JVM argument flag. It influences a named setting on the JVM rather than being passed as an argument to the main method via public static void main(String[] args) {}.

            What "timeout" are you referring to?

            • connectionLinger
            • connectionTimeout
            • connectionUploadTimeout
            • executorTerminationTimeoutMillis
            • keepAliveTimeout

            I'm referring to this document for settings that can be set via the server.xml configuration.

            If you are referring to say an embedded container please update your question.

            Source https://stackoverflow.com/questions/67950456

            QUESTION

            html line ". {" is marked as an error in Eclipse when the html file is opened
            Asked 2021-Jun-13 at 07:42

            I have updated my Eclipse to 2021-03 with jdk1.8 and Tomcat 9. Now when I open a html the following css has an error on ". {" - identifier expected. When I close the file the error marker goes away.

            ...

            ANSWER

            Answered 2021-Jun-13 at 07:42

            It's expecting a classname after . If your purpose is to apply css to entire document then use

            Source https://stackoverflow.com/questions/67955744

            QUESTION

            Spring batch AbstractJob Encountered Fatal Error - could not serialize the execution context
            Asked 2021-Jun-12 at 18:44

            I'm getting this error because one of the fields in my domain class is a LocalDate. Stack trace below. Jackson is complaining about Java 8 date/time not being supported by default, but Spring Boot 2.5 comes with com.fasterxml.jackson.datatype:jackson-datatype-jsr310. How do I get Spring Batch to support my LocalDate field in my domain class?

            If I change the field to be a java.util.Date it works perfectly.

            Thanks!

            ...

            ANSWER

            Answered 2021-Jun-10 at 03:14

            You can add serializer and deserializer for it.

            Source https://stackoverflow.com/questions/67913592

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            A specially crafted sequence of HTTP/2 requests sent to Apache Tomcat 10.0.0-M1 to 10.0.0-M5, 9.0.0.M1 to 9.0.35 and 8.5.0 to 8.5.55 could trigger high CPU usage for several seconds. If a sufficient number of such requests were made on concurrent HTTP/2 connections, the server could become unresponsive.
            When using Apache Tomcat versions 10.0.0-M1 to 10.0.0-M4, 9.0.0.M1 to 9.0.34, 8.5.0 to 8.5.54 and 7.0.0 to 7.0.103 if a) an attacker is able to control the contents and name of a file on the server; and b) the server is configured to use the PersistenceManager with a FileStore; and c) the PersistenceManager is configured with sessionAttributeValueClassNameFilter="null" (the default unless a SecurityManager is used) or a sufficiently lax filter to allow the attacker provided object to be deserialized; and d) the attacker knows the relative file path from the storage location used by FileStore to the file the attacker has control over; then, using a specifically crafted request, the attacker will be able to trigger remote code execution via deserialization of the file under their control. Note that all of conditions a) to d) must be true for the attack to succeed.
            A Incorrect Default Permissions vulnerability in the packaging of tomcat on SUSE Enterprise Storage 5, SUSE Linux Enterprise Server 12-SP2-BCL, SUSE Linux Enterprise Server 12-SP2-LTSS, SUSE Linux Enterprise Server 12-SP3-BCL, SUSE Linux Enterprise Server 12-SP3-LTSS, SUSE Linux Enterprise Server 12-SP4, SUSE Linux Enterprise Server 12-SP5, SUSE Linux Enterprise Server 15-LTSS, SUSE Linux Enterprise Server for SAP 12-SP2, SUSE Linux Enterprise Server for SAP 12-SP3, SUSE Linux Enterprise Server for SAP 15, SUSE OpenStack Cloud 7, SUSE OpenStack Cloud 8, SUSE OpenStack Cloud Crowbar 8 allows local attackers to escalate from group tomcat to root. This issue affects: SUSE Enterprise Storage 5 tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server 12-SP2-BCL tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server 12-SP2-LTSS tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server 12-SP3-BCL tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server 12-SP3-LTSS tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server 12-SP4 tomcat versions prior to 9.0.35-3.39.1. SUSE Linux Enterprise Server 12-SP5 tomcat versions prior to 9.0.35-3.39.1. SUSE Linux Enterprise Server 15-LTSS tomcat versions prior to 9.0.35-3.57.3. SUSE Linux Enterprise Server for SAP 12-SP2 tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server for SAP 12-SP3 tomcat versions prior to 8.0.53-29.32.1. SUSE Linux Enterprise Server for SAP 15 tomcat versions prior to 9.0.35-3.57.3. SUSE OpenStack Cloud 7 tomcat versions prior to 8.0.53-29.32.1. SUSE OpenStack Cloud 8 tomcat versions prior to 8.0.53-29.32.1. SUSE OpenStack Cloud Crowbar 8 tomcat versions prior to 8.0.53-29.32.1.
            CVE-2020-1938 CRITICAL
            When using the Apache JServ Protocol (AJP), care must be taken when trusting incoming connections to Apache Tomcat. Tomcat treats AJP connections as having higher trust than, for example, a similar HTTP connection. If such connections are available to an attacker, they can be exploited in ways that may be surprising. In Apache Tomcat 9.0.0.M1 to 9.0.0.30, 8.5.0 to 8.5.50 and 7.0.0 to 7.0.99, Tomcat shipped with an AJP Connector enabled by default that listened on all configured IP addresses. It was expected (and recommended in the security guide) that this Connector would be disabled if not required. This vulnerability report identified a mechanism that allowed: - returning arbitrary files from anywhere in the web application - processing any file in the web application as a JSP Further, if the web application allowed file upload and stored those files within the web application (or the attacker was able to control the content of the web application by some other means) then this, along with the ability to process a file as a JSP, made remote code execution possible. It is important to note that mitigation is only required if an AJP port is accessible to untrusted users. Users wishing to take a defence-in-depth approach and block the vector that permits returning arbitrary files and execution as JSP may upgrade to Apache Tomcat 9.0.31, 8.5.51 or 7.0.100 or later. A number of changes were made to the default AJP Connector configuration in 9.0.31 to harden the default configuration. It is likely that users upgrading to 9.0.31, 8.5.51 or 7.0.100 or later will need to make small changes to their configurations.
            When serving resources from a network location using the NTFS file system, Apache Tomcat versions 10.0.0-M1 to 10.0.0-M9, 9.0.0.M1 to 9.0.39, 8.5.0 to 8.5.59 and 7.0.0 to 7.0.106 were susceptible to JSP source code disclosure in some configurations. The root cause was the unexpected behaviour of the JRE API File.getCanonicalPath() which in turn was caused by the inconsistent behaviour of the Windows API (FindFirstFileW) in some circumstances.
            In Apache Tomcat 9.0.0.M1 to 9.0.30, 8.5.0 to 8.5.50 and 7.0.0 to 7.0.99 the HTTP header parsing code used an approach to end-of-line parsing that allowed some invalid HTTP headers to be parsed as valid. This led to a possibility of HTTP Request Smuggling if Tomcat was located behind a reverse proxy that incorrectly handled the invalid Transfer-Encoding header in a particular manner. Such a reverse proxy is considered unlikely.
            While investigating bug 64830 it was discovered that Apache Tomcat 10.0.0-M1 to 10.0.0-M9, 9.0.0-M1 to 9.0.39 and 8.5.0 to 8.5.59 could re-use an HTTP request header value from the previous stream received on an HTTP/2 connection for the request associated with the subsequent stream. While this would most likely lead to an error and the closure of the HTTP/2 connection, it is possible that information could leak between requests.
            If an HTTP/2 client connecting to Apache Tomcat 10.0.0-M1 to 10.0.0-M7, 9.0.0.M1 to 9.0.37 or 8.5.0 to 8.5.57 exceeded the agreed maximum number of concurrent streams for a connection (in violation of the HTTP/2 protocol), it was possible that a subsequent request made on that connection could contain HTTP headers - including HTTP/2 pseudo headers - from a previous request rather than the intended headers. This could lead to users seeing responses for unexpected resources.

            Install tomcat

            Please see RUNNING.txt for more info.

            Support

            The documentation available as of the date of this release is included in the docs webapp which ships with tomcat. You can access that webapp by starting tomcat and visiting http://localhost:8080/docs/ in your browser. The most up-to-date documentation for each version can be found at:.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/apache/tomcat.git

          • CLI

            gh repo clone apache/tomcat

          • sshUrl

            git@github.com:apache/tomcat.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link