InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Tomcat 7 Beta Debuts Servlet 3.0 Support, Security Upgrades and Operations-Friendly Updates

Posted by Josh Long on Jul 09, 2010

Sections
Development
Topics
Java ,
Tools ,
Web Servers
Tags
Apache Tomcat

The Apache Software Foundation's Tomcat web server has reached 7.0 beta, the first release more than 3 years. The new release has been in development for around 18 months. The release can be downloaded from the project's download page at the Apache Software Foundation.

The release features implementations of many new specifications, including Servlet 3.0, JSP 2.2, and EL 2.2. The introduction of Servlet 3.0 support brings the worlds most used Java web container up to date with the latest servlet specifications, as introduced by the Java EE 6 specification. Servlet 3.0 promises many refinements (the API has been genericized, for example) and introduces a number of new features designed to make developers lives easier, making it faster to build scalable applications. A key feature the Servlet 3.0 specification is support for standardized (as these features are, technically, already available through non-standard APIs for Tomcat, Jetty, and other containers) asynchronous HTTP requests and responses. The specification describes baked-in support for file uploads, negating the need for a third party library like the Apache project's Commons File Upload component.

The specification also defines support for dynamically configuring a web application which has an impact in a number of places. Web-tier constructs like servlets may be defined using annotations, negating the need for registration in the WEB-INF/web.xml deployment descriptor file. Additionally, the new specification defines an API by which Servlets, Filters, etc., may be programmatically registered with a container at runtime. Along these same lines, web fragments enable third party libraries to ship web.xml descriptors with the library and the configuration will be added to the web application's main web.xml. You might imagine, for example, simply dropping a web framework's .jar files in the WEB-INF/lib folder of your application and seeing it configured automatically.

Tomcat 7 adds protection against session fixation attacks. A session fixation attack is designed to force the session ID of a client to an explicit, known value. Additionally, it supports SSL session tracking, and more granular permissions for the various access mechanisms (JMX, web-based, and script access, for example.).

The new release is more flexible for developers who would like to embed the container; it exposes a lightweight API for embedding the container in client code. Additionally, Tomcat requires fewer .jars, making it easier to build Tomcat a la carte.

The release features several features to ease administration and management of the server. It supports an asynchronous logging thread to write requests/responses independent of the request/response pipeline. Tomcat 7 features sophisticated support for preventing, identifying and trapping memory leaks. The crux of this memory leak busting support lies in Tomcat 7's improved class loader and a JreLeakPreventionListener class. Tomcat 7 debuts support for what it calls "aliases," very much like the Apache server's feature of the same name. It lets applications in Tomcat see content from external sources, like a fileysytem.

Finally, one thing you'll not see in Tomcat 7 is support for the Java EE 6 web-profile. The Java EE 6 web profile defines a subset of the whole Java EE specification geared towards enabling web-facing applications. For more on the Java EE 6 spec, including the web profile, see Java EE 6 Platform Draft Published featuring the Web Profile. Conceptually, this reduces the onus on application server vendors to maintain complete backwards compatability simply to remain "certified." The Java EE 6 web profile is also ideal for servlet containers that wish to obtain certification. The Simple Web Profile Application Server project aims to build a Java EE 6 web-profile compliant server using Apache Software Foundation components, with Apache Tomcat 7 as the base.

comet? websocket? by Vic _ Posted
Re: comet? websocket? by anjan bacchu Posted
  1. Back to top

    comet? websocket?

    by Vic _

    ?

  2. Back to top

    Re: comet? websocket?

    by anjan bacchu

    hi there,

    yes, it will be nice to know if there is WebSocket support. Given that almost all browsers will soon have WebSockets, NOT having support in the WebServer/AppServer does NOT make sense.

    BR,
    ~A

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.