Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

glassfish-web.xml vs sun-web.xml vs web.xml

Could someone explain the main differences (or provide a link to) between glassfish-web.xml, sun-web.xml and web.xml?

Can I use just glassfish-web.xml in my webapp and skip the others?

like image 625
sasha_trn Avatar asked Sep 27 '13 15:09

sasha_trn


People also ask

What is Glassfish-web xml?

The glassfish-web.xml file configures a web application (WAR file). The element hierarchy is as follows: glassfish-web-app . context-root .

What is Sun web xml?

The sun-web.xml file configures a web application (WAR file). The element hierarchy is as follows: sun-web-app . context-root . security-role-mapping . . role-name . .

Where is Glassfish-web xml located?

The GlassFish Server web application runtime DD, if used, is named glassfish-web. xml and is located in the WEB-INF directory.

What is web xml and server xml?

xml is used for server and context. xml is for application that runs on that server. There may be several context. xml files (per application) on a server but only one server. xml.


1 Answers

  • web.xml: Standard deployment descriptor defined by Java EE (Servlet JSR in particular, but used by many JSRs). It is used to specify the metadata used by the web container to deploy the application in a portable manner across application servers (such as the URL endpoint of a servlet). In Java EE 6 and beyond, it is optional (depending on technologies that you use) when metadata is provided by annotations in your Java code, like @WebServlet.
  • glassfish-web.xml: Each application server offers implementation-specific features. To configure these features for GlassFish, use glassfish-web.xml. This is documented in the GlassFish Documentation.
  • sun-web.xml: Legacy application-server specific deployment descriptor, and has been replaced by glassfish-web.xml. It no longer made sense to have this name after Sun was acquired by Oracle. This file name is still supported for backwards compatibility, but you should migrate to glassfish-web.xml.

You may or may not need a web.xml file. It depends on the Java EE features you use. By default, don't use any of these files and simply use Java EE annotations like @WebServlet. As you build out your app and perhaps begin using some features that require the web.xml file (like to define the JavaServer Faces FacesServlet), then use a web.xml file. As for the glassfish-web.xml, you only use one if you have GlassFish-specific features to configure for your application.

The Java EE tutorial is also a good way to learn Java EE, and is bundled with the Java EE 7 SDK along with GlassFish 4.

like image 52
John Clingan Avatar answered Oct 09 '22 01:10

John Clingan