Presentation is loading. Please wait.

Presentation is loading. Please wait.

Creating a.war file W(eb) AR(chive). Creating a.war file The following article may contain actual software programs in source code form. This source code.

Similar presentations


Presentation on theme: "Creating a.war file W(eb) AR(chive). Creating a.war file The following article may contain actual software programs in source code form. This source code."— Presentation transcript:

1 Creating a.war file W(eb) AR(chive)

2 Creating a.war file The following article may contain actual software programs in source code form. This source code is made available for developers to use as needed, pursuant to the terms and conditions of this license.license The Reason The new way of deploying Java[tm] 2 Platform, Enterprise Edition (J2EE[tm]) Web modules that include Java[tm] Servlets and JavaServer Pages[tm] (JSP[tm]) relies on packaging the application and associated files into a WebARchive (WAR) file. This seems simple, as the WAR file is the same format as a JavaARchive (JAR) file. However, you also need to create an eXtensisible Markup Language (XML) deployment descriptor (WEB-INF/web.xml) file. There are tools that can do this for you, such as those in the Java[tm] Web Services Developer Pack (free download here), or tools that come with iPlanet[tm] Application Server. However, you may not want to download or buy these products.free download here

3 Creating a.war file How To WAR file structure - The static HTML files and JSPs are stored in the top level directory. The Servlet and related Java[tm] technology class files must be stored in the WEB-INF/classes directory. Any auxiliary library JAR files must be stored in the WEB-INF/lib directory. The deployment descriptor is stored as a file named web.xml in the WEB- INF directory. Creating the web.xml deployment descriptor - The following is the mandatory header of the web.xml document. This defines the document as an XML file and relates the syntax of the file to the DOCTYPE resource specified.

4 Recall…about web.xml Servlets The simplest form of deployment descriptor that is needed to deploy a Java[tm] Servlet is as follows (assumes the header is preceding): HelloServlet mypackage.HelloServlet HelloServlet /HelloServlet The element is how the Servlet is known within the XML file, the is the fully qualified Java programming language class name of the Servlet; this Java programming language class needs to be located in the WEB- INF/classes directory. Thus, for the previous example this would be reflected in the directory structure: WEB-INF/classes/mypackage/HelloServlet.class.

5 Creating a.war file The is how the Servlet is referenced from a Universal Resource Indicator(URI) - see the "Accessing the Content" section of this article. According to the Servlet specification it is recommended that you include a mapping to avoid any potential issues. All of these elements are documented in the Servlet specifications. Note: The structure of the elements must follow the order in the DTD definition. For example all s must be defined before any s can be specified. JSPs JSPs can be deployed in a WAR file in three ways: Without reference in web.xml You can put your JSPs directly in the root of the WAR file; the container will recognise the.jsp extension.

6 Creating a.war file Precompiling By precompiling the JSP, you have a Servlet. You can reference the JSP's compiled class (Servlet) and also locate the class as in the example from the "Servlets" section of this article. However, the could be something like Foo.jsp, to signify that it is/was a JSP. For more information, see the JSP Specification note in the References section of this article. Referencing You can reference the JSP file in web.xml; by using the example in the "Servlets" section and replacing with. In this case the root is the root of the WAR file, unlike the Servlet scenario.

7 Creating a.war file Creating the WAR File After you have created your WEB-INF directory, the deployment descriptor, and have put the relevant files in the correct directories, you can use the "jar" utility from the Java[tm] Development Kit distribution to create the WAR file. Check the tools documentation for the full syntax. The command you could use is (assumes you are at the top level of the directory structure in which you assembled the WAR contents): jar cvf mywar.war WEB-INF {related top-level files or directories} You can then deploy mywar.war using, for example, iPlanet[tm] Application Server, iPlanet[tm] Web Server or any J2EE compliant application server or Web container. Accessing the Content The content is generally accessed as follows: http://host:port/context/{maping or file} The context could be set in the deployment phase or set automatically by the application. For example, deploying to iPlanet WebServer 6.x using wdeploy allows you to specify the context name; but iPlanet Application Server 6.x generally uses the WAR file name as the context.

8 Making a tea.war file The batch file leaves war in current directory, in this case, my java/bin directory. jar cvf tea.war C:\PROGRA~1\TOMCAT~1.5\WEBAPPS\TEA\ WEB-INF C:\PROGRA~1\TOMCAT~1.5\WEBAPPS\TEA\T eaServlet.jar This was not a good way to do it because it sets the name of the servlet jar file in the war file.

9 You should be able to: Drop the war file in the webapps directory it needs to go in and restart tomcat That webapp should now be accessible

10 To unpack If you need to unzip the war file: Unpacking the Application Files A WAR file is basically a Java JAR file, or ZIP file. Copy the app.WAR file from the installation media to the directory you would like to install them to. Create the sub-directory for the web application. Change to the sub-directory. Unzip the files using the command jar -xf../app.WAR

11 In fact… I never got the webapp working via the.war file I was not able to “unzip” using jar –xf either. These problems may have been due to the path setting I had when I used jar to create the war file. In any case, winzip can unpack a war file and it is working fine now.


Download ppt "Creating a.war file W(eb) AR(chive). Creating a.war file The following article may contain actual software programs in source code form. This source code."

Similar presentations


Ads by Google