geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Geronimo v2.1: geronimo-web.xml (page edited)
Date Mon, 02 Jun 2008 15:55:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence" />
    <style type="text/css">
    <!--
    body, p, td, table, tr, .bodytext, .stepfield {
	font-family: Verdana, arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	color: #000000;
	font-weight: normal;
}
#PageContent {
	text-align: left;
	background-color: #fff;
	padding: 0px;
	margin: 0px;
    padding-bottom:20px;
}
/*
** when this stylesheet is used for the Tiny MCE Wysiwyg editor's edit area, we can't
** use an id=PageContent or class=wiki-content, so we must
** set the body style to that used for PageContent, and p to that used for wiki-content.
*/

body {
	margin: 0px;
	padding: 0px;
	text-align: center;
    background-color: #f0f0f0;
}

@media print {

body {
    background-color: #fff;
}

}

.monospaceInput {
    font:12px monospace
}

.wiki-content p, .commentblock p {
    margin: 16px 0px 16px 0px;
    padding: 0px;
}

.wiki-content-preview {
    padding: 5px;
    border-left: 1px solid #3c78b5;
    border-right: 1px solid #3c78b5;
}

ul, ol {
    margin-top: 2px;
    margin-bottom: 2px;
    padding-top: 0px;
    padding-bottom: 0px;
}

pre {
    padding: 0px;
    margin-top: 5px;
    margin-left: 15px;
    margin-bottom: 5px;
    margin-right: 5px;
    text-align: left;
}

.helpheading {
    font-weight: bold;
    background-color: #D0D9BD;
        border-bottom: 1px solid #3c78b5;
        padding: 4px 4px 4px 4px;
        margin: 0px;
        margin-top: 10px;
}
.helpcontent {
        padding: 4px 4px 20px 4px;
    background-color: #f5f7f1;
}

.code {
 	border: 1px dashed #3c78b5;
    font-size: 11px;
	font-family: Courier;
    margin: 10px;
	line-height: 13px;
}

.focusedComment {
    background: #ffffce;
}

.commentBox, .focusedComment {
    padding: 10px;
    margin: 5px 0 5px 0;
    border: 1px #bbb solid;
}

.codeHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.codeContent {
    text-align: left;
    background-color: #f0f0f0;
    padding: 3px;
}

.preformatted {
 	border: 1px dashed #3c78b5;
    font-size: 11px;
	font-family: Courier;
    margin: 10px;
	line-height: 13px;
}

.preformattedHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.preformattedContent {
    background-color: #f0f0f0;
    padding: 3px;
}

.panel {
 	border: 1px dashed #3c78b5;
    margin: 10px;
    margin-top: 0px;
}

.panelHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.panelContent {
    background-color: #f0f0f0;
    padding: 5px;
}

.anonymousAlert {
    background-color: #f0f0f0;
 	border: 1px dashed red;
    font-size: 11px;
    padding: 10px 5px 10px 5px;
    margin: 4px;
	line-height: 13px;
}

.lockAlert {
    background-color: #f0f0f0;
    width: 50%;
 	border: 1px dashed red;
    font-size: 11px;
    padding: 10px 5px 10px 5px;
    margin: 4px;
	line-height: 13px;
}


.code-keyword {
  color: #000091;
  background-color: inherit;
}

.code-object {
  color: #910091;
  background-color: inherit;
}

.code-quote {
  color: #009100;
  background-color: inherit;
}

.code-comment {
  color: #808080;
  background-color: inherit;
}


.code-xml .code-keyword {
  color: inherit;
  font-weight: bold;
}

.code-tag {
  color: #000091;
  background-color: inherit;
}

.breadcrumbs {
    background-color: #f0f0f0;
 	border-color: #3c78b5;
	border-width: 1px 0px 1px 0px;
	border-style: solid;
    font-size: 11px;
    padding: 3px 0px 3px 0px;
}

.navmenu {
    border: 1px solid #ccc;
}

.menuheading {
    font-weight: bold;
    background-color: #f0f0f0;
 	border-bottom: 1px solid #3c78b5;
	padding: 4px 4px 2px 4px;
}

.menuitems {
	padding: 4px 4px 20px 4px;
}

.rightpanel {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

#helpheading {
    text-align: left;
    font-weight: bold;
    background-color: #D0D9BD;
 	border-bottom: 1px solid #3c78b5;
	padding: 4px 4px 4px 4px;
	margin: 0px;
}
#helpcontent {
	padding: 4px 4px 4px 4px;
    background-color: #f5f7f1;
}
.helptab-unselected {
    font-weight: bold;
	padding: 5px;
    background-color: #f5f7f1;
}
.helptab-selected {
    font-weight: bold;
    background-color: #D0D9BD;
	padding: 5px;
}
.helptabs {
    margin: 0px;
    background-color: #f5f7f1;
	padding: 5px;
}
.infopanel-heading {
    font-weight: bold;
	padding: 4px 0px 2px 0px;
}

.pagebody {
}

.pageheader {
	padding: 5px 5px 5px 0px;
 	border-bottom: 1px solid #3c78b5;
}

.pagetitle {
	font-size: 22px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
}

.newpagetitle {
    color: #ccc !important;
}

.steptitle {
	font-size: 18px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
	margin-bottom: 7px;
}

.substeptitle {
    font-size: 12px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
    margin: 2px 4px 4px 4px;
    padding: 2px 4px 1px 4px;
}

.stepdesc {
    font-family: Verdana, arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	font-weight: normal;
    color: #666666;
    margin-top: 7px;
    margin-bottom: 7px;
}

.steplabel {
    font-weight: bold;
    margin-right: 4px;
    color: black;
    float: left;
    width: 15%;
    text-align: right;
}

.stepfield {
    background: #f0f0f0;
    padding: 5px;
}

.submitButtons{
    margin-top:5px;
    text-align:right;
}

.formtitle {
	font-size: 12px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
}

.sectionbottom {
    border-bottom: 1px solid #3c78b5;
}

.topRow {
    border-top: 2px solid #3c78b5;
}

.tabletitle {
	font-size: 14px;
	font-weight: bold;
	font-family: Arial, sans-serif;
    padding: 3px 0px 2px 0px;
    margin: 8px 4px 2px 0px;
	color: #003366;
	border-bottom: 2px solid #3c78b5;
}
.pagesubheading {
    color: #666666;
    font-size: 10px;
    padding: 0px 0px 5px 0px;
}

HR {
	color: 3c78b5;
	height: 1;
}

A:link, A:visited, A:active, A:hover {
	color: #003366;
}

h1 A:link, h1 A:visited, h1 A:active {
	text-decoration: none;
}

h1 A:hover {
    border-bottom: 1px dotted #003366;
}

.wiki-content > :first-child, .commentblock > :first-child {
    margin-top: 3px;
}

.logocell {
    padding: 10px;
}

input {
	font-family: verdana, geneva, arial, sans-serif;
	font-size: 11px;
	color: #000000;
}

textarea, textarea.editor {
	font-family: verdana, geneva, arial, sans-serif;
	font-size: 11px;
	color: #333333;
}

/* use logoSpaceLink instead.
.spacenametitle {
	font: 21px/31px Impact, Arial, Helvetica;
    font-weight: 100;
    color: #999999;
	margin: 0px;
}
.spacenametitle img {
  margin: 0 0 -4px 0;
}
.spacenametitle a {
    text-decoration: none;
    color: #999999;
}
.spacenametitle a:visited {
    text-decoration: none;
    color: #999999;
}*/

.spacenametitle-printable {
	font: 20px/25px Impact, Arial, Helvetica;
    font-weight: 100;
    color: #999999;
	margin: 0px;
}
.spacenametitle-printable a {
    text-decoration: none;
    color: #999999;
}
.spacenametitle-printable a:visited {
    text-decoration: none;
    color: #999999;
}

.blogDate {
	font-weight: bold;
	text-decoration: none;
	color: black;
}

.blogSurtitle {
    background: #f0f0f0;
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.blogHeading {
    font-size: 20px;
    line-height: normal;
    font-weight: bold;
    padding: 0px;
    margin: 0px;
}

.blogHeading a {
   text-decoration: none;
   color: black;
}

.endsection {
	align: right;
	color: #666666;
	margin-top: 10px;
}
.endsectionleftnav {
	align: right;
	color: #666666;
	margin-top: 10px;
}

h1 {
	font-size: 24px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	color: #003366;
 	border-bottom: 1px solid #3c78b5;
	padding: 2px;
	margin: 36px 0px 4px 0px;
}

h2 {
	font-size: 18px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
 	border-bottom: 1px solid #3c78b5;
	padding: 2px;
	margin: 27px 0px 4px 0px;
}

h3 {
	font-size: 14px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 21px 0px 4px 0px;
}

h4 {
	font-size: 12px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 18px 0px 4px 0px;
}

h4.search {
	font-size: 12px;
	line-height: normal;
	font-weight: normal;
	background-color: #f0f0f0;
	padding: 4px;
	margin: 18px 0px 4px 0px;
}

h5 {
	font-size: 10px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 14px 0px 4px 0px;
}

h6 {
	font-size: 8px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 14px 0px 4px 0px;
}

.smallfont {
    font-size: 10px;
}
.descfont {
    font-size: 10px;
    color: #666666;
}
.smallerfont {
    font-size: 9px;
}
.smalltext {
    color: #666666;
    font-size: 10px;
}
.smalltext a {
    color: #666666;
}
.smalltext-blue {
    color: #3c78b5;
    font-size: 10px;
}
.surtitle {
    margin-left: 1px;
    margin-bottom: 5px;
    font-size: 14px;
    color: #666666;
}

/* css hack found here:  http://www.fo3nix.pwp.blueyonder.co.uk/tutorials/css/hacks/ */
.navItemOver { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #003366; cursor: hand; voice-family: '\'}\''; voice-family:inherit; cursor: pointer;}
.navItemOver a { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItemOver a:visited { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItemOver a:hover { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItem { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #3c78b5; }
.navItem a { color: #ffffff; text-decoration: none; }
.navItem a:hover { color: #ffffff; text-decoration: none; }
.navItem a:visited { color: #ffffff; text-decoration: none; }

div.padded { padding: 4px; }
div.thickPadded { padding: 10px; }
h3.macrolibrariestitle {
    margin: 0px 0px 0px 0px;
}

div.centered { text-align: center; margin: 10px; }
div.centered table {margin: 0px auto; text-align: left; }

.tableview table {
    margin: 0;
}

.tableview th {
    text-align: left;
    color: #003366;
    font-size: 12px;
    padding: 5px 0px 0px 5px;
    border-bottom: 2px solid #3c78b5;
}
.tableview td {
    text-align: left;
    border-color: #ccc;
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    margin: 0;
    padding: 4px 10px 4px 5px;
}

.grid {
    margin: 2px 0px 5px 0px;
    border-collapse: collapse;
}
.grid th  {
    border: 1px solid #ccc;
    padding: 2px 4px 2px 4px;
    background: #f0f0f0;
    text-align: center;
}
.grid td  {
    border: 1px solid #ccc;
    padding: 3px 4px 3px 4px;
}
.gridHover {
	background-color: #f9f9f9;
}

td.infocell {
    background-color: #f0f0f0;
}
.label {
	font-weight: bold;
	color: #003366;
}

label {
	font-weight: bold;
	color: #003366;
}

.error {
	background-color: #fcc;
}

.errorBox {
	background-color: #fcc;
    border: 1px solid #c00;
    padding: 5px;
    margin: 5px;
}

.errorMessage {
	color: #c00;
}

.success {
	background-color: #dfd;
}

.successBox {
	background-color: #dfd;
    border: 1px solid #090;
    padding: 5px;
    margin-top:5px;
    margin-bottom:5px;
}

blockquote {
	padding-left: 10px;
	padding-right: 10px;
	margin-left: 5px;
	margin-right: 0px;
	border-left: 1px solid #3c78b5;
}

table.confluenceTable
{
    margin: 5px;
    border-collapse: collapse;
}

/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
table.confluenceTable td.confluenceTd
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
}

/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
table.confluenceTable th.confluenceTh
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
    background-color: #f0f0f0;
    text-align: center;
}

td.confluenceTd
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
}

th.confluenceTh
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
    background-color: #f0f0f0;
    text-align: center;
}

DIV.small {
	font-size: 9px;
}

H1.pagename {
	margin-top: 0px;
}

IMG.inline  {}

.loginform {
    margin: 5px;
    border: 1px solid #ccc;
}

/* The text how the "This is a preview" comment should be shown. */
.previewnote { text-align: center;
                font-size: 11px;
                    color: red; }

/* How the preview content should be shown */
.previewcontent { background: #E0E0E0; }

/* How the system messages should be shown (DisplayMessage.jsp) */
.messagecontent { background: #E0E0E0; }

/* How the "This page has been modified..." -comment should be shown. */
.conflictnote { }

.createlink {
    color: maroon;
}
a.createlink {
    color: maroon;
}
.templateparameter {
    font-size: 9px;
    color: darkblue;
}

.diffadded {
    background: #ddffdd;
    padding: 1px 1px 1px 4px;
	border-left: 4px solid darkgreen;
}
.diffdeleted {
    color: #999;
    background: #ffdddd;
    padding: 1px 1px 1px 4px;
	border-left: 4px solid darkred;
}
.diffnochange {
    padding: 1px 1px 1px 4px;
	border-left: 4px solid lightgrey;
}
.differror {
    background: brown;
}
.diff {
    font-family: lucida console, courier new, fixed-width;
	font-size: 12px;
	line-height: 14px;
}
.diffaddedchars {
    background-color:#99ff99;
    font-weight:bolder;
}
.diffremovedchars {
    background-color:#ff9999;
    text-decoration: line-through;
    font-weight:bolder;
}

.greybackground {
    background: #f0f0f0
}

.greybox {
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.borderedGreyBox {
    border: 1px solid #cccccc;
    background-color: #f0f0f0;
    padding: 10px;
}

.greyboxfilled {
 	border: 1px solid #ddd;
    background: #f0f0f0;
    padding: 3px;
	margin: 1px 1px 10px 1px;
}

.navBackgroundBox {
    padding: 5px 5px 5px 5px;
    font-size: 22px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: white;
    background: #3c78b5;
    text-decoration: none;
}

.previewBoxTop {
	background-color: #f0f0f0;
    border-width: 1px 1px 0px 1px;
    border-style: solid;
    border-color: #3c78b5;
    padding: 5px;
    margin: 5px 0px 0px 0px;
    text-align: center;
}
.previewContent {
    background-color: #fff;
 	border-color: #3c78b5;
	border-width: 0px 1px 0px 1px;
	border-style: solid;
	padding: 10px;
	margin: 0px;
}
.previewBoxBottom {
	background-color: #f0f0f0;
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: #3c78b5;
    padding: 5px;
    margin: 0px 0px 5px 0px;
    text-align: center;
}

.functionbox {
    background-color: #f0f0f0;
 	border: 1px solid #3c78b5;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.functionbox-greyborder {
    background-color: #f0f0f0;
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.search-highlight {
    background-color: #ffffcc;
}

/* normal (white) background */
.rowNormal {
    background-color: #ffffff;
 }

/* alternate (pale yellow) background */
.rowAlternate {
    background-color: #f7f7f7;
}

/* used in the list attachments table */
.rowAlternateNoBottomColor {
    background-color: #f7f7f7;
}

.rowAlternateNoBottomNoColor {
}

.rowAlternateNoBottomColor td {
    border-bottom: 0px;
}

.rowAlternateNoBottomNoColor td {
    border-bottom: 0px;
}

/* row highlight (grey) background */
.rowHighlight {
    background-color: #f0f0f0;

}

TD.greenbar {FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER: 1px solid #9c9c9c; PADDING: 0px; }
TD.redbar {FONT-SIZE: 2px; BACKGROUND: #df0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; }
TD.darkredbar {FONT-SIZE: 2px; BACKGROUND: #af0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; }

TR.testpassed {FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING: 0px; }
TR.testfailed {FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING: 0px; }

.toolbar  {
    margin: 0px;
    border-collapse: collapse;
}

.toolbar td  {
    border: 1px solid #ccc;
    padding: 2px 2px 2px 2px;
    color: #ccc;
}

td.noformatting {
    border-width: 0px;
    border-style: none;
    text-align: center;
	padding: 0px;
}

.commentblock {
    margin: 12px 0 12px 0;
}

/*
 * Divs displaying the license information, if necessary.
 */
.license-eval, .license-none, .license-nonprofit {
    border-top: 1px solid #bbbbbb;
    text-align: center;
    font-size: 10px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.license-eval, .license-none {
    background-color: #ffcccc;
}

.license-eval b, .license-none b {
    color: #990000
}

.license-nonprofit {
    background-color: #ffffff;
}

/*
 * The shadow at the bottom of the page between the main content and the
 * "powered by" section.
 */
.bottomshadow {
    height: 12px;
    background-image: url("$req.contextPath/images/border/border_bottom.gif");
    background-repeat: repeat-x;
}

/*
 * Styling of the operations box
 */
.navmenu .operations li, .navmenu .operations ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.navmenu .operations ul {
    margin-bottom: 9px;
}

.navmenu .label {
    font-weight: inherit;
}

/*
 * Styling of ops as a toolbar
 */
.toolbar div {
    display: none;
}

.toolbar .label {
    display: none;
}

.toolbar .operations {
    display: block;
}

.toolbar .operations ul {
    display: inline;
    list-style: none;
    margin-left: 10px;
    padding-left: 0;
}

.toolbar .operations li {
    list-style: none;
    display: inline;
}

/* list page navigational tabs */
#foldertab {
padding: 3px 0px 3px 8px;
margin-left: 0;
border-bottom: 1px solid #3c78b5;
font: bold 11px Verdana, sans-serif;
}

#foldertab li {
list-style: none;
margin: 0;
display: inline;
}

#foldertab li a {
padding: 3px 0.5em;
margin-left: 3px;
border: 1px solid #3c78b5;
border-bottom: none;
background: #3c78b5;
text-decoration: none;
}

#foldertab li a:link { color: #ffffff; }
#foldertab li a:visited { color: #ffffff; }

#foldertab li a:hover {
color: #ffffff;
background: #003366;
border-color: #003366;
}

#foldertab li a.current {
background: white;
border-bottom: 1px solid white;
color: black;
}

#foldertab li a.current:link { color: black; }
#foldertab li a.current:visited { color: black; }
#foldertab li a.current:hover {
background: white;
border-bottom: 1px solid white;
color: black;
}

/* alphabet list */
ul#squaretab {
margin-left: 0;
padding-left: 0;
white-space: nowrap;
font: bold 8px Verdana, sans-serif;
}

#squaretab li {
display: inline;
list-style-type: none;
}

#squaretab a {
padding: 2px 6px;
border: 1px solid #3c78b5;
}

#squaretab a:link, #squaretab a:visited {
color: #fff;
background-color: #3c78b5;
text-decoration: none;
}

#squaretab a:hover {
color: #ffffff;
background-color: #003366;
border-color: #003366;
text-decoration: none;
}

#squaretab li a#current {
background: white;
color: black;
}

.blogcalendar * {
    font-family:verdana, arial, sans-serif;
    font-size:x-small;
    font-weight:normal;
    line-height:140%;
    padding:2px;
}


table.blogcalendar {
    border: 1px solid #3c78b5;
}

.blogcalendar th.calendarhead, a.calendarhead {
    font-size:x-small;
    font-weight:bold;
    padding:2px;
    text-transform:uppercase;
    background-color: #3c78b5;
    color: #ffffff;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.calendarhead:visited {color: white;}
.calendarhead:active {color: white;}
.calendarhead:hover {color: white;}

.blogcalendar th {
    font-size:x-small;
    font-weight:bold;
    padding:2px;
    background-color:#f0f0f0;
}

.blogcalendar td {
    font-size:x-small;
    font-weight:normal;
}

.searchGroup { padding: 0 0 10px 0; background: #f0f0f0; }
.searchGroupHeading { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #3c78b5; padding: 2px 4px 1px 4px; }
.searchItem { padding: 1px 4px 1px 4px; }
.searchItemSelected { padding: 1px 4px 1px 4px; font-weight: bold; background: #ddd; }

/* permissions page styles */
.permissionHeading {
    border-bottom: #bbb; border-width: 0 0 1px 0; border-style: solid; font-size: 16px; text-align: left;
}
.permissionTab {
    border-width: 0 0 0 1px; border-style: solid; background: #3c78b5; color: #ffffff; font-size: 10px;
}
.permissionSuperTab {
    border-width: 0 0 0 1px; border-style: solid; background: #003366; color: #ffffff;
}
.permissionCell {
    border-left: #bbb; border-width: 0 0 0 1px; border-style: solid;
}

/* warning panel */
.warningPanel { background: #FFFFCE; border:#F0C000 1px solid; padding: 8px; margin: 10px; }
/* alert panel */
.alertPanel { background: #FFCCCC; border:#C00 1px solid; padding: 8px; margin: 10px; }
/* info panel */
.infoPanel { background: #D8E4F1; border:#3c78b5 1px solid; padding: 8px; margin: 10px; }

/* side menu highlighting (e.g. space content screen) */
.optionPadded { padding: 2px; }
.optionSelected { background-color: #ffffcc; padding: 2px; border: 1px solid #ddd; margin: -1px; }
.optionSelected a { font-weight: bold; text-decoration: none; color: black; }

/* information macros */
.noteMacro { border-style: solid; border-width: 1px; border-color: #F0C000; background-color: #FFFFCE; text-align:left; margin-top: 5px; margin-bottom: 5px}
.warningMacro { border-style: solid; border-width: 1px; border-color: #c00; background-color: #fcc; text-align:left; margin-top: 5px; margin-bottom: 5px}
.infoMacro { border-style: solid; border-width: 1px; border-color: #3c78b5; background-color: #D8E4F1; text-align:left; margin-top: 5px; margin-bottom: 5px}
.tipMacro { border-style: solid; border-width: 1px; border-color: #090; background-color: #dfd; text-align:left; margin-top: 5px; margin-bottom: 5px}
.informationMacroPadding { padding: 5px 0 0 5px; }

table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td, table.sectionMacro td {
    border: none;
}

table.sectionMacroWithBorder td.columnMacro { border-style: dashed; border-width: 1px; border-color: #cccccc;}

.pagecontent
{
    padding: 10px;
    text-align: left;
}

/* styles for links in the top bar */
.topBarDiv a:link {color: #ffffff;}
.topBarDiv a:visited {color: #ffffff;}
.topBarDiv a:active {color: #ffffff;}
.topBarDiv a:hover {color: #ffffff;}
.topBarDiv {color: #ffffff;}

.topBar {
    background-color: #003366;
}


/* styles for extended operations */
.greyLinks a:link {color: #666666; text-decoration:underline;}
.greyLinks a:visited {color: #666666; text-decoration:underline;}
.greyLinks a:active {color: #666666; text-decoration:underline;}
.greyLinks a:hover {color: #666666; text-decoration:underline;}
.greyLinks {color: #666666; display:block; padding: 10px}

.logoSpaceLink {color: #999999; text-decoration: none}
.logoSpaceLink a:link {color: #999999; text-decoration: none}
.logoSpaceLink a:visited {color: #999999; text-decoration: none}
.logoSpaceLink a:active {color: #999999; text-decoration: none}
.logoSpaceLink a:hover {color: #003366; text-decoration: none}

/* basic panel (basicpanel.vmd) style */
.basicPanelContainer {border: 1px solid #3c78b5; margin-top: 2px; margin-bottom: 8px; width: 100%}
.basicPanelTitle {padding: 5px; margin: 0px; background-color: #f0f0f0; color: black; font-weight: bold;}
.basicPanelBody {padding: 5px; margin: 0px}

.separatorLinks a:link {color: white}
.separatorLinks a:visited {color: white}
.separatorLinks a:active {color: white}

.greynavbar {background-color: #f0f0f0; border-top: 1px solid #3c78b5; margin-top: 2px}

div.headerField {
    float: left;
    width: auto;
    height: 100%;
}

.headerFloat {
    margin-left: auto;
    width: 50%;
}

.headerFloatLeft {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
}

#headerRow {
    padding: 10px;
}

div.license-personal {
   background-color: #003366;
   color: #ffffff;
}

div.license-personal a {
   color: #ffffff;
}

.greyFormBox {
    border: 1px solid #cccccc;
    padding: 5px;
}

/* IE automatically adds a margin before and after form tags. Use this style to remove that */
.marginlessForm {
    margin: 0px;
}

.openPageHighlight {
    background-color: #ffffcc;
    padding: 2px;
    border: 1px solid #ddd;
}

.editPageInsertLinks, .editPageInsertLinks a
{
    color: #666666;
    font-weight: bold;
    font-size: 10px;
}

/* Style for label heatmap. */
.top10 a {
    font-weight: bold;
    font-size: 2em;
    color: #003366;
}
.top25 a {
    font-weight: bold;
    font-size: 1.6em;
    color: #003366;
}
.top50 a {
    font-size: 1.4em;
    color: #003366;
}
.top100 a {
    font-size: 1.2em;
    color: #003366;
}

.heatmap {
    list-style:none;
    width: 95%;
    margin: 0px auto;
}

.heatmap a {
    text-decoration:none;
}

.heatmap a:hover {
    text-decoration:underline;
}

.heatmap li {
    display: inline;
}

.minitab {
padding: 3px 0px 3px 8px;
margin-left: 0;
margin-top: 1px;
margin-bottom: 0px;
border-bottom: 1px solid #3c78b5;
font: bold 9px Verdana, sans-serif;
text-decoration: none;
float:none;
}
.selectedminitab {
padding: 3px 0.5em;
margin-left: 3px;
margin-top: 1px;
border: 1px solid #3c78b5;
background: white;
border-bottom: 1px solid white;
color: #000000;
text-decoration: none;
}
.unselectedminitab {
padding: 3px 0.5em;
margin-left: 3px;
margin-top: 1px;
border: 1px solid #3c78b5;
border-bottom: none;
background: #3c78b5;
color: #ffffff;
text-decoration: none;
}

a.unselectedminitab:hover {
color: #ffffff;
background: #003366;
border-color: #003366;
}

a.unselectedminitab:link { color: white; }
a.unselectedminitab:visited { color: white; }

a.selectedminitab:link { color: black; }
a.selectedminitab:visited { color: black; }

.linkerror { background-color: #fcc;}

a.labelOperationLink:link {text-decoration: underline}
a.labelOperationLink:active {text-decoration: underline}
a.labelOperationLink:visited {text-decoration: underline}
a.labelOperationLink:hover {text-decoration: underline}

a.newLabel:link {background-color: #ddffdd}
a.newLabel:active {background-color: #ddffdd}
a.newLabel:visited {background-color: #ddffdd}
a.newLabel:hover {background-color: #ddffdd}

ul.square {list-style-type: square}

.inline-control-link {
    background: #ffc;
    font-size: 9px;
    color: #666;
    padding: 2px;
    text-transform: uppercase;
    text-decoration: none;
}


.inline-control-link a:link {text-decoration: none}
.inline-control-link a:active {text-decoration: none}
.inline-control-link a:visited {text-decoration: none}
.inline-control-link a:hover {text-decoration: none}

.inline-control-link {
    background: #ffc;
    font-size: 9px;
    color: #666;
    padding: 2px;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

div.auto_complete {
    width: 350px;
    background: #fff;
}
div.auto_complete ul {
    border: 1px solid #888;
    margin: 0;
    padding: 0;
    width: 100%;
    list-style-type: none;
}
div.auto_complete ul li {
    margin: 0;
    padding: 3px;
}
div.auto_complete ul li.selected {
    background-color: #ffb;
}
div.auto_complete ul strong.highlight {
    color: #800;
    margin: 0;
    padding: 0;
}

/******* Edit Page Styles *******/
.toogleFormDiv{
    border:1px solid #A7A6AA;
    background-color:white;
    padding:5px;
    margin-top: 5px;
}

.toogleInfoDiv{
    border:1px solid #A7A6AA;
    background-color:white;
    display:none;
    padding:5px;
    margin-top: 10px;
}

.inputSection{
    margin-bottom:20px;
}

#editBox{
   border:1px solid lightgray;
   background-color:#F0F0F0;
}

/******* Left Navigation Theme Styles ********/
.leftnav li a {
    text-decoration:none;
    color:white;
    margin:0px;
    display:block;
    padding:2px;
    padding-left:5px;
    background-color: #3c78b5;
    border-top:1px solid #3c78b5;
}

.leftnav li a:active {color:white;}
.leftnav li a:visited {color:white;}
.leftnav li a:hover {background-color: #003366; color:white;}

/* Added by Shaun during i18n */
.replaced
{
    background-color: #33CC66;
}

.topPadding
{
    margin-top: 20px;
}

/* new form style */
.form-block {
    padding: 6px;
}
.form-error-block {
    padding: 6px;
    background: #fcc;
    border-top: #f0f0f0 1px solid;
    border-bottom: #f0f0f0 1px solid;
    margin-bottom: 6px;
    padding: 0 12px 0 12px;
}
.form-element-large {
    font-size: 16px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
}

.form-element-small {
    font-size: 12px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
}

.form-header {
    background: lightyellow;
    border-top: #f0f0f0 1px solid;
    border-bottom: #f0f0f0 1px solid;
    margin-bottom: 6px;
    padding: 0 12px 0 12px;
}
.form-header p, .form-block p, .form-error-block p {
    line-height: normal;
    margin: 12px 0 12px 0;
}
.form-example {
    color: #888;
    font-size: 11px;
}
.form-divider {
    border-bottom: #ccc 1px solid;
    margin-bottom: 6px;
}
.form-buttons {
    margin-top: 6px;
    border-top: #ccc 1px solid;
    border-bottom: #ccc 1px solid;
    background: #f0f0f0;
    padding: 10px;
    text-align: center;
}
.form-buttons input {
    width: 100px;
}
.form-block .error {
    padding: 6px;
    margin-bottom: 6px;
}
    -->
    </style>
</head>
<body>

<div id="PageContent">
<table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%"><tr>
<td valign="top" class="pagebody">

    <div class="pageheader">
        <span class="pagetitle">
            Page Edited :
            <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21">GMOxDOC21</a> :
            <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/geronimo-web.xml">geronimo-web.xml</a>
        </span>
    </div>

     <p>
        <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/geronimo-web.xml">geronimo-web.xml</a>
        has been edited by             <a href="http://cwiki.apache.org/confluence/display/~mcconne">Tim McConnell</a>
            <span class="smallfont">(Jun 02, 2008)</span>.
     </p>
    
     <p>
                 <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=81300&originalVersion=37&revisedVersion=38">(View changes)</a>
     </p>

    <span class="label">Content:</span><br/>
    <div class="greybox wiki-content"><style type='text/css'>/*<![CDATA[*/
table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 3px;margin: 0px;background-color: #f0f0f0}
table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 16px;border: none;}
table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}
table.ScrollbarTable td.ScrollbarParent {text-align: center;border: none;}
table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}

/*]]>*/</style><div class="Scrollbar"><table class='ScrollbarTable'><tr><td class='ScrollbarPrevIcon'><a href="/confluence/display/GMOxDOC21/geronimo-ra.xml"><img border='0' align='middle' src='/confluence/images/icons/back_16.gif' width='16' height='16'></a></td><td width='33%' class='ScrollbarPrevName'><a href="/confluence/display/GMOxDOC21/geronimo-ra.xml">geronimo-ra.xml</a>&nbsp;</td><td width='33%' class='ScrollbarParent'><sup><a href="/confluence/display/GMOxDOC21/Deployment+plans"><img border='0' align='middle' src='/confluence/images/icons/up_16.gif' width='8' height='8'></a></sup><a href="/confluence/display/GMOxDOC21/Deployment+plans">Deployment plans</a></td><td width='33%' class='ScrollbarNextName'>&nbsp;<a href="/confluence/display/GMOxDOC21/Java+Persistence+API+deployment+plans">Java Persistence API deployment plans</a></td><td class='ScrollbarNextIcon'><a href="/confluence/display/GMOxDOC21/Java+Persistence+API+deployment+plans"><img border='0' align='middle' src='/confluence/images/icons/forwd_16.gif' width='16' height='16'></a></td></tr></table></div>

<h1><a name="geronimo-web.xml-Overview"></a>Overview</h1>
<p>The Geronimo-specific deployment plan for a Web application, which is usually packaged as a WAR file, is called "<b>geronimo-web.xml</b>". The <b>geronimo-web.xml</b> deployment plan is used to in conjunction with the <b>web.xml</b> JAVA EE deplopyment plan to deploy web applications consisting of Java Servlet Pages (JSP) and servlets to the Geronimo application server, and optionally can be used to configure the Geronimo web server (i.e., Tomcat or Jetty) where the Web application is going to be deployed. The <b>geronimo-web.xml</b> deployment plan is an optional file, but is typically used when deploying a WAR file. It is used to specify the application security roles, EJB names, database resources, JMS resources, etc. declared in <b>web.xml</b> to corresponding entities deployed in the server. In addition to that, if there are any web container specific configurations, such as Tomcat or Jetty specific, depending on the application needs, all these settings are configured as well here. If the web application depends on any third party libraries or other services running in the server, all these dependencies are declared in the plan. Some web applications require class loading requirements different from the default class loading behavior. The <b>geronimo-web.xml</b> allows application deployer to configure this as well. There are many more configurations that could be done through <b>geronimo-web.xml</b> depending on the requirements of web application.</p>

<h2><a name="geronimo-web.xml-Packaging"></a>Packaging</h2>
<p>The <b>geronimo-web.xml</b> Geronimo-specific deployment plan can be packaged as follows:</p>
<ol>
	<li>Embedded in a WAR file. In this case, the <b>geronimo-web.xml</b> file must be placed in the <b>/WEB-INF</b> directory of the WAR, which is the same place where the <b>web.xml</b> file must be located.
<br clear="all" /> 
<br clear="all" /></li>
	<li>Maintained separately from the WAR file: In this case, the path to the file must be provided to the appropriate Geronimo deployer (e.g., command-line or console) when the WAR file is deployed. Note that in this case, the filename may be named something other than <b>geronimo-web.xml</b> but must adhere to the same schema. Also note that this will not work if the EJB JAR file is to be embedded in an enterprise application EAR file (see below).
<br clear="all" /> 
<br clear="all" /></li>
	<li>Embedded in an enterprise application EAR file: In one case, the root-level element <b>&lt;web-app&gt;</b> of the <b>geronimo-web-2.0.1.xsd</b> schema can be embedded outside the WAR file in the EAR file's <b>geronimo-application.xml</b> file.
<br clear="all" /> 
<br clear="all" /></li>
	<li>Embedded in an enterprise application EAR file: In another case, the actual <b>geronimo-web.xml</b> file can be placed in the <b>/META-INF</b> directory of the EAR, which is the same location as the <b>application.xml</b> file.</li>
</ol>


<h1><a name="geronimo-web.xml-Schema"></a>Schema</h1>
<p>The <b>geronimo-web.xml</b> deployment plan is defined by the <b>geronimo-web-2.0.1.xsd</b> schema located in the <b>&lt;geronimo_home&gt;/schema/</b> subdirectory of the main Geronimo installation directory. The <b>geronimo-web-2.0.1.xsd</b> schema is documented here:</p>

<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<h2><a name="geronimo-web.xml-Schematoplevelelements"></a>Schema top-level elements</h2>
<p>The root XML element in the <b>geronimo-web-2.0.1.xsd</b> schema is the <b>&lt;web-app&gt;</b> element. The top-level XML elements of the <b>&lt;web-app&gt;</b> root element are described in the sections below. The deployment plan should always use the Web application namespace, and it typically requires elements from Geronimo System, Geronimo Naming, Geronimo Security, Geronimo Application, and Geronimo Persistence namespaces. Additionally, it has a required attribute to identify its configuration name, and an optional attribute to select a parent configuration. A typical deployment for <b>geronimo-web.xml</b> can be presented as follows:</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>geronimo-web.xml Example</b></div><div class="codeContent">
<pre class="code-xml">&lt;web:web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span> 
             <span class="code-keyword">xmlns:sys</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span> 
             <span class="code-keyword">xmlns:name</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span> 
             <span class="code-keyword">xmlns:app</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/application-2.0"</span> 
             <span class="code-keyword">xmlns:sec</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/security-2.0"</span> 
             <span class="code-keyword">xmlns:pers</span>=<span class="code-quote">"http://java.sun.com/xml/ns/persistence"</span>&gt;
             ...
<span class="code-tag">&lt;/web:web-app&gt;</span></pre>
</div></div>

<h3><a name="geronimo-web.xml-%3Csys%3Aenvironment%3E"></a>&lt;sys:environment&gt;</h3>
<p>The <b>&lt;sys:environment&gt;</b> XML element uses the Geronimo System namespace, which is used to specify the common elements for common libraries and module-scoped services, and is described here: </p>

<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-module-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-module-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>The <b>&lt;sys:environment&gt;</b> element contains the following elements:</p>

<ul>
	<li>The <b>&lt;moduleId&gt;</b> element is used to provide the configuration name for the web application as deployed in the Geronimo server. It contains elements for the <b>groupId</b>, <b>artifactId</b>, <b>version</b> and module <b>type</b>. Module IDs are normally printed with slashes between the four components, such as <b>GroupID/ArtifactID/Version/Type</b>.
<br clear="all" /> <br clear="all" /></li>
	<li>The <b>&lt;dependencies&gt;</b> element is used to provide the configurations and third party libraries on which the web module is dependent upon. These configurations and libraries are made available to the web module via the Geronimo classloader hierarchy.
<br clear="all" /> <br clear="all" /></li>
	<li>The <b>&lt;hidden-classes&gt;</b> element can be used to specify a list of classes which will never be loaded from parent ClassLoaders of this module. For example, if Log4J was listed here, the module would never see Geronimo's copy of Log4J. If the module provided it's own Log4J JAR it would use that, otherwise it would not be able to load Log4J at all.
<br clear="all" /> <br clear="all" /></li>
	<li>The <b>&lt;non-overridable-classes&gt;</b> element can be used to specify a list of classes which will only be loaded from parent ClassLoaders of this module (never from the module's own ClassLoader). For example, this is used to prevent a web application from redefining "javax.servlet", so those         classes will <b>always</b> be loaded from the server instead of from the web application's own ClassPath. <br clear="all" /> <br clear="all" /></li>
	<li>The <b>&lt;inverse-classloading&gt;</b> element can be used to specify that standard classloader delegation is to be reversed for this module. <br clear="all" /> <br clear="all" /></li>
	<li>The <b>&lt;suppress-default-environment&gt;</b> element can be used to suppress inheritance of environment by module (i.e., any default environment built by a Geronimo builder when deploying the plan will be suppressed).</li>
</ul>


<p>An example <b>geronimo-web.xml</b> file is shown below using the <b>&lt;sys:environment&gt;</b> element:</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>&lt;sys:environment&gt; Example</b></div><div class="codeContent">
<pre class="code-xml">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>
         <span class="code-keyword">xmlns:sys</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;

    <span class="code-tag">&lt;sys:environment&gt;</span>

        <span class="code-tag">&lt;sys:moduleId&gt;</span>
            <span class="code-tag">&lt;sys:groupId&gt;</span>default<span class="code-tag">&lt;/sys:groupId&gt;</span>
            <span class="code-tag">&lt;sys:artifactId&gt;</span>geronimo-web-6<span class="code-tag">&lt;/sys:artifactId&gt;</span>
            <span class="code-tag">&lt;sys:version&gt;</span>1.0<span class="code-tag">&lt;/sys:version&gt;</span>
            <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
        <span class="code-tag">&lt;/sys:moduleId&gt;</span>

        <span class="code-tag">&lt;sys:dependencies&gt;</span>
            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>tomcat6<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>2.1.1<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>

            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>default<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>geronimo-web-5<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>1.0<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>

        <span class="code-tag">&lt;/sys:dependencies&gt;</span>

        <span class="code-tag">&lt;sys:hidden-classes/&gt;</span>
        <span class="code-tag">&lt;sys:non-overridable-classes/&gt;</span>
        <span class="code-tag">&lt;sys:inverse-classloading/&gt;</span>
        <span class="code-tag">&lt;sys:suppress-default-environment/&gt;</span>

    <span class="code-tag">&lt;/sys:environment&gt;</span> 
   
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div> 

<h3><a name="geronimo-web.xml-%3Ccontextroot%3E"></a>&lt;context-root&gt;</h3>
<p>The <b>&lt;context-root&gt;</b> XML element uses the Geronimo default namespace for a geronimo-web.xml file that is described here: </p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>This element can be used to provide the web context path of the deployed web application, which appears in the URL used to address the application on a Geronimo server. As an example, if the context root is specified as <b>&lt;context-root&gt;web-app-test&lt;/context-root&gt;</b> then the URL to the application would start with <b><span class="nobr"><a href="http://host:8080/web-app-test/*" title="Visit page outside Confluence" rel="nofollow">http://host:8080/web-app-test/*<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. If the context root is specified as *&lt;context-root&gt;/&lt;/context-root&gt;</b> that would become the default web application for the server. </p>




<p>value of / would be used to make this the default web application for the<br/>
server.<br/>
If the web application is packaged in an EAR, then the context root can be specified<br/>
in the EAR's application.xml deployment descriptor. If the web applications<br/>
is instead deployed as standalone WAR, then this element is necessary unless you<br/>
want the context root to default to the WAR name.</p>

<h3><a name="geronimo-web.xml-%3Cworkdir%3E"></a>&lt;work-dir&gt;</h3>
<p>The <b>&lt;work-dir&gt;</b> XML element uses the Geronimo default namespace for a geronimo-web.xml file that is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>This element can be used to provide the work directory that will be used by this web application. For Jetty this will be relative to jetty home which is <b>var/jetty</b> by default, and for Tomcat this will be relative to <b>catalina.home</b>.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Awebcontainer%3E"></a>&lt;naming:web-container&gt;</h3>
<p>The <b>&lt;naming:web-container&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements for <br/>
resolving EJB references, resource references, and Web services references, and is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to specify a reference to a <b>web-container</b> specific GBean either via a pattern or via a link to a GBean. An example <b>geronimo-web.xml</b> file is shown below using the <b>&lt;naming:web-container&gt;</b> elements:</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>&lt;naming:web-container&gt; Example</b></div><div class="codeContent">
<pre class="code-xml">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>
         <span class="code-keyword">xmlns:naming</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>
         <span class="code-keyword">xmlns:sys</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;

    <span class="code-tag">&lt;sys:environment&gt;</span>

        <span class="code-tag">&lt;sys:moduleId&gt;</span>
            <span class="code-tag">&lt;sys:groupId&gt;</span>default<span class="code-tag">&lt;/sys:groupId&gt;</span>
            <span class="code-tag">&lt;sys:artifactId&gt;</span>geronimo-web-6<span class="code-tag">&lt;/sys:artifactId&gt;</span>
            <span class="code-tag">&lt;sys:version&gt;</span>1.0<span class="code-tag">&lt;/sys:version&gt;</span>
            <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
        <span class="code-tag">&lt;/sys:moduleId&gt;</span>

        <span class="code-tag">&lt;sys:dependencies&gt;</span>
            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>tomcat6<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>2.1.1<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>

            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>default<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>geronimo-web-5<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>1.0<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>

        <span class="code-tag">&lt;/sys:dependencies&gt;</span>

        <span class="code-tag">&lt;sys:hidden-classes/&gt;</span>
        <span class="code-tag">&lt;sys:non-overridable-classes/&gt;</span>
        <span class="code-tag">&lt;sys:inverse-classloading/&gt;</span>
        <span class="code-tag">&lt;sys:suppress-default-environment/&gt;</span>

    <span class="code-tag">&lt;/sys:environment&gt;</span> 

    <span class="code-tag">&lt;context-root&gt;</span>contextroot<span class="code-tag">&lt;/web:context-root&gt;</span>

    <span class="code-tag">&lt;work-dir&gt;</span>workdir<span class="code-tag">&lt;/web:work-dir&gt;</span>   

    <span class="code-tag">&lt;naming:web-container&gt;</span>
        <span class="code-tag">&lt;naming:pattern&gt;</span>
            <span class="code-tag">&lt;naming:groupId&gt;</span>gbeanlocator-pattern-groupid<span class="code-tag">&lt;/naming:groupId&gt;</span>
            <span class="code-tag">&lt;naming:artifactId&gt;</span>gbeanlocator-pattern-artifactid<span class="code-tag">&lt;/naming:artifactId&gt;</span>
            <span class="code-tag">&lt;naming:version&gt;</span>gbeanlocator-pattern-version<span class="code-tag">&lt;/naming:version&gt;</span>
            <span class="code-tag">&lt;naming:module&gt;</span>gbeanlocator-pattern-module<span class="code-tag">&lt;/naming:module&gt;</span>
            <span class="code-tag">&lt;naming:name&gt;</span>gbeanlocator-pattern-name<span class="code-tag">&lt;/naming:name&gt;</span>
        <span class="code-tag">&lt;/naming:pattern&gt;</span>
        <span class="code-tag">&lt;naming:gbean-link&gt;</span>gbeanlocator-gbeanlink<span class="code-tag">&lt;/naming:gbean-link&gt;</span>
    <span class="code-tag">&lt;/naming:web-container&gt;</span>

<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div> 

<h3><a name="geronimo-web.xml-%3Ccontainerconfig%3E"></a>&lt;container-config&gt;</h3>
<p>The <b>&lt;container-config&gt;</b> XML element uses the Geronimo default namespace for a geronimo-web.xml file that is described here: </p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>This element is used for the configuration of elements specific to the underlying Geronimo web container (i.e., Jetty or <br/>
Tomcat). An example <b>geronimo-web.xml</b> file is shown below using the <b>&lt;container-config&gt;</b> elements for the Tomcat web container:</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>&lt;container-config&gt; Example</b></div><div class="codeContent">
<pre class="code-xml">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>
         <span class="code-keyword">xmlns:naming</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>
         <span class="code-keyword">xmlns:sys</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;

    <span class="code-tag">&lt;sys:environment&gt;</span>

        <span class="code-tag">&lt;sys:moduleId&gt;</span>
            <span class="code-tag">&lt;sys:groupId&gt;</span>default<span class="code-tag">&lt;/sys:groupId&gt;</span>
            <span class="code-tag">&lt;sys:artifactId&gt;</span>geronimo-web-6<span class="code-tag">&lt;/sys:artifactId&gt;</span>
            <span class="code-tag">&lt;sys:version&gt;</span>1.0<span class="code-tag">&lt;/sys:version&gt;</span>
            <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
        <span class="code-tag">&lt;/sys:moduleId&gt;</span>

        <span class="code-tag">&lt;sys:dependencies&gt;</span>
            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>org.apache.geronimo.configs<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>tomcat6<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>2.1.1<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>

            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>default<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>geronimo-web-5<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>1.0<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>car<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>

        <span class="code-tag">&lt;/sys:dependencies&gt;</span>

        <span class="code-tag">&lt;sys:hidden-classes/&gt;</span>
        <span class="code-tag">&lt;sys:non-overridable-classes/&gt;</span>
        <span class="code-tag">&lt;sys:inverse-classloading/&gt;</span>
        <span class="code-tag">&lt;sys:suppress-default-environment/&gt;</span>

    <span class="code-tag">&lt;/sys:environment&gt;</span> 

    <span class="code-tag">&lt;context-root&gt;</span>contextroot<span class="code-tag">&lt;/web:context-root&gt;</span>

    <span class="code-tag">&lt;work-dir&gt;</span>workdir<span class="code-tag">&lt;/web:work-dir&gt;</span>   

    <span class="code-tag">&lt;naming:web-container&gt;</span>
        <span class="code-tag">&lt;naming:pattern&gt;</span>
            <span class="code-tag">&lt;naming:groupId&gt;</span>gbeanlocator-pattern-groupid<span class="code-tag">&lt;/naming:groupId&gt;</span>
            <span class="code-tag">&lt;naming:artifactId&gt;</span>gbeanlocator-pattern-artifactid<span class="code-tag">&lt;/naming:artifactId&gt;</span>
            <span class="code-tag">&lt;naming:version&gt;</span>gbeanlocator-pattern-version<span class="code-tag">&lt;/naming:version&gt;</span>
            <span class="code-tag">&lt;naming:module&gt;</span>gbeanlocator-pattern-module<span class="code-tag">&lt;/naming:module&gt;</span>
            <span class="code-tag">&lt;naming:name&gt;</span>gbeanlocator-pattern-name<span class="code-tag">&lt;/naming:name&gt;</span>
        <span class="code-tag">&lt;/naming:pattern&gt;</span>
        <span class="code-tag">&lt;naming:gbean-link&gt;</span>gbeanlocator-gbeanlink<span class="code-tag">&lt;/naming:gbean-link&gt;</span>
    <span class="code-tag">&lt;/naming:web-container&gt;</span>

    <span class="code-tag">&lt;container-config&gt;</span>
        <span class="code-tag">&lt;tomcat xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/web/tomcat/config-1.0"</span>&gt;</span>
            <span class="code-tag">&lt;host&gt;</span>testhost.com<span class="code-tag">&lt;/host&gt;</span>
            <span class="code-tag">&lt;valve-chain&gt;</span>FirstValve<span class="code-tag">&lt;/valve-chain&gt;</span>
            <span class="code-tag">&lt;tomcat-realm&gt;</span>TomcatRealm<span class="code-tag">&lt;/tomcat-realm&gt;</span>
        <span class="code-tag">&lt;/tomcat&gt;</span>
    <span class="code-tag">&lt;/container-config&gt;</span>

<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div> 

<h3><a name="geronimo-web.xml-%3Cnaming%3Aabstractnamingentry%3E"></a>&lt;naming:abstract-naming-entry&gt;</h3>
<p>The <b>&lt;naming:abstract-naming-entry&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements <br/>
for resolving EJB references, resource references, and Web services references, and is described here: </p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>.</li>
</ul>


<p>It is an abstract element used as a generic element for multiple reference types.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Aejbref%3E"></a>&lt;naming:ejb-ref&gt;</h3>
<p>The <b>&lt;naming:ejb-ref&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements for resolving <br/>
EJB references, resource references, and Web services references, and is described here: </p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to map EJB references to EJB's in other <br/>
applications using remote home and remote interface. The application which contains the EJB being referenced should either be in same EAR or should be included in dependency list of this application. Also note as the EJB's referenced are in a different JVM all the Client interfaces should also be included in current application.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Aejblocalref%3E"></a>&lt;naming:ejb-local-ref&gt;</h3>
<p>The <b>&lt;naming:ejb-local-ref&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements for <br/>
resolving EJB references, resource references, and Web services references, and is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to map EJB references to EJB's in other applications using local home and local interface. The application which contains the EJB being referenced should either be in same EAR or should be included in dependency list of this application. Also note as the EJB's referenced are in a different JVM all the Client interfaces should also be included in current application.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Aserviceref%3E"></a>&lt;naming:service-ref&gt;</h3>
<p>The <b>&lt;naming:service-ref&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements for <br/>
resolving EJB references, resource references, and Web services references, and is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to map service references to service's in <br/>
other applications. The application which contains the EJB being referenced should either be in same EAR or should be included in dependency list of this application.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Aresourceref%3E"></a>&lt;naming:resource-ref&gt;</h3>
<p>The <b>&lt;naming:resource-ref&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements for <br/>
resolving EJB references, resource references, and Web services references, and is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to map resource references to resources's like JDBC resources, JMS resources, etc. configured outside the current application.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Aresourceenvref%3E"></a>&lt;naming:resource-env-ref&gt;</h3>
<p>The <b>&lt;naming:resource-env-ref&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements for <br/>
resolving EJB references, resource references, and Web services references, and is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to map resource references to administrative objects deployed as a part of connectors.</p>

<h3><a name="geronimo-web.xml-%3Cnaming%3Amessagedestination%3E"></a>&lt;naming:message-destination&gt;</h3>
<p>The <b>&lt;naming:message-destination&gt;</b> XML element uses the Geronimo Naming namespace, which is used to identify the common elements <br/>
for resolving EJB references, resource references, and Web services references, and is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-naming-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>It is used to configure a JMS queue or topic which acts like a destination for the messages delivered.</p>

<h3><a name="geronimo-web.xml-%3Csecurityrealmname%3E"></a>&lt;security-realm-name&gt;</h3>
<p>The <b>&lt;security-realm-name&gt;</b> XML element uses the Geronimo default namespace for a geronimo-web.xml file that is described here:</p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-web-2.0.1.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>.</li>
</ul>


<p>It is used to specify the name of the security realm that will be used for user authentication.</p>

<h3><a name="geronimo-web.xml-%3Capp%3Asecurity%3E"></a>&lt;app:security&gt; </h3>
<p>The <b>&lt;app:security&gt;</b> XML element uses the Geronimo Applicaiton namespace described here:<br/>
<span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-application-2.0.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-application-2.0.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. </p>

<p>It is used to maps roles specified in the WAR file to roles or principals in the security realm that will be used when deploying the module.</p>

<h3><a name="geronimo-web.xml-%3Csys%3Aservice%3E"></a>&lt;sys:service&gt;</h3>
<p>The <b>&lt;sys:service&gt;</b> XML element uses the Geronimo System namespace described here: </p>
<ul>
	<li><span class="nobr"><a href="http://geronimo.apache.org/schemas-2.1/docs/geronimo-module-1.2.xsd.html" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/schemas-2.1/docs/geronimo-module-1.2.xsd.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span><br/>
It is an empty generic element to be extended by GBean and other module types.</li>
</ul>


<h3><a name="geronimo-web.xml-%3Cee%3Apersistence%3E"></a>&lt;ee:persistence&gt;</h3>
<p>The <b>&lt;ee:persistence&gt;</b> XML element uses the Java EE Persistence namespace described here: </p>
<ul>
	<li><span class="nobr"><a href="http://java.sun.com/xml/ns/persistence/" title="Visit page outside Confluence" rel="nofollow">http://java.sun.com/xml/ns/persistence/<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<p>Apache Geronimo uses <span class="nobr"><a href="http://openjpa.apache.org/" title="Visit page outside Confluence" rel="nofollow">OpenJPA<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> for providing Java Persistence API to Java EE applications deployed in the server.</p>

<h1><a name="geronimo-web.xml-Samples"></a>Samples</h1>
<p>For example, the following <b>web.xml</b> and <b>geronimo-web.xml</b> are the deployment descriptor and Geronimo deployment plan respectively, of a web application that connects to a datasource deployed on DB2 and retrieves data from a table.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>web.xml Example</b></div><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"ISO-8859-1"</span>?&gt;</span>
&lt;web-app xmlns=<span class="code-quote">"http://java.sun.com/xml/ns/javaee"</span>
         <span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span>
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd<span class="code-quote">" version="</span>2.5"&gt;
    
    <span class="code-tag">&lt;resource-ref&gt;</span>
        <span class="code-tag">&lt;res-ref-name&gt;</span>jdbc/DataSource<span class="code-tag">&lt;/res-ref-name&gt;</span>
        <span class="code-tag">&lt;res-type&gt;</span>javax.sql.DataSource<span class="code-tag">&lt;/res-type&gt;</span>
        <span class="code-tag">&lt;res-auth&gt;</span>Container<span class="code-tag">&lt;/res-auth&gt;</span>
        <span class="code-tag">&lt;res-sharing-scope&gt;</span>Shareable<span class="code-tag">&lt;/res-sharing-scope&gt;</span>
    <span class="code-tag">&lt;/resource-ref&gt;</span>
    
    <span class="code-tag">&lt;welcome-file-list&gt;</span>
        <span class="code-tag">&lt;welcome-file&gt;</span>jsp/EMPdemo.jsp<span class="code-tag">&lt;/welcome-file&gt;</span>
    <span class="code-tag">&lt;/welcome-file-list&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div>

<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The default namespace of the above XML document is <span class="nobr"><a href="http://java.sun.com/xml/ns/javaee" title="Visit page outside Confluence" rel="nofollow">http://java.sun.com/xml/ns/javaee<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. The XML elements that do not have a namespace prefix belong to the default namespace.

<p>With Servlet 2.5 specification, many of the declarations done through <b>web.xml</b> can also be done through corresponding annotations in the servlets and JSPs. When both annotations and web.xml are provided, the declarations in web.xml takes precedence over annotations.</p></td></tr></table>

<p>The web module connects to back end datasource using its JNDI name <b>jdbc/DataSource</b> as declared in the <b>web.xml</b>. </p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>geronimo-web.xml Example</b></div><div class="codeContent">
<pre class="code-xml">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"</span>
          <span class="code-keyword">xmlns:naming</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming-1.2"</span>
          <span class="code-keyword">xmlns:sec</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/security-2.0"</span>
          <span class="code-keyword">xmlns:sys</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment-1.2"</span>&gt;

    <span class="code-tag">&lt;sys:environment&gt;</span>
        <span class="code-tag">&lt;sys:moduleId&gt;</span>
            <span class="code-tag">&lt;sys:groupId&gt;</span>samples<span class="code-tag">&lt;/sys:groupId&gt;</span>
            <span class="code-tag">&lt;sys:artifactId&gt;</span>EmployeeDemo<span class="code-tag">&lt;/sys:artifactId&gt;</span>
            <span class="code-tag">&lt;sys:version&gt;</span>2.5<span class="code-tag">&lt;/sys:version&gt;</span>
            <span class="code-tag">&lt;sys:type&gt;</span>war<span class="code-tag">&lt;/sys:type&gt;</span>
        <span class="code-tag">&lt;/sys:moduleId&gt;</span>
        
        <span class="code-tag">&lt;sys:dependencies&gt;</span>
            <span class="code-tag">&lt;sys:dependency&gt;</span>
                <span class="code-tag">&lt;sys:groupId&gt;</span>samples<span class="code-tag">&lt;/sys:groupId&gt;</span>
                <span class="code-tag">&lt;sys:artifactId&gt;</span>EmployeeDatasource<span class="code-tag">&lt;/sys:artifactId&gt;</span>
                <span class="code-tag">&lt;sys:version&gt;</span>2.5<span class="code-tag">&lt;/sys:version&gt;</span>
                <span class="code-tag">&lt;sys:type&gt;</span>rar<span class="code-tag">&lt;/sys:type&gt;</span>
            <span class="code-tag">&lt;/sys:dependency&gt;</span>
        <span class="code-tag">&lt;/sys:dependencies&gt;</span>
    <span class="code-tag">&lt;/sys:environment&gt;</span>
    
    <span class="code-tag">&lt;context-root&gt;</span>/EmployeeDemo<span class="code-tag">&lt;/context-root&gt;</span>
        <span class="code-tag">&lt;naming:resource-ref&gt;</span>
        <span class="code-tag">&lt;naming:ref-name&gt;</span>jdbc/DataSource<span class="code-tag">&lt;/naming:ref-name&gt;</span>
        <span class="code-tag">&lt;naming:resource-link&gt;</span>jdbc/EmployeeDatasource<span class="code-tag">&lt;/naming:resource-link&gt;</span>
    <span class="code-tag">&lt;/naming:resource-ref&gt;</span>
<span class="code-tag">&lt;/web-app&gt;</span></pre>
</div></div> 
<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
<p>The default namespace of the above XML document is <span class="nobr"><a href="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1" title="Visit page outside Confluence" rel="nofollow">http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. The XML elements that do not have a namespace prefix belong to the default namespace.</p></td></tr></table>

<p>Observe the various XML tags and corresponding namespaces used in the deployment plan for various purposes.</p>

<p><b><tt>&lt;sys:environment&gt; .. &lt;/sys:environment&gt;</tt></b> : These elements provide the moduleid configuration and the dependencies. The moduleId elements provide the configuration name for the web module. So, when the web module is deployed, it is given the configuration name <tt>samples/samples/2.5/jar</tt>. The dependencies elements provide the configurations and third party libraries on which the web module is dependent on. These configurations and libraries will be available to the web module via a classloader hierarchy. In this case, the web module is dependent on <tt>samples/EmployeeDatasource/2.5/rar</tt> which is the configuration of the deployed Datasource that connects to a back end DB2 database. The Datasource deploys a database connection pool <tt>(javax.sql.Datasource)</tt> with name <tt>jdbc/EmployeeDatasource</tt>.</p>

<p><b><tt>&lt;sys:context-root&gt; .. &lt;/sys:context-root&gt;</tt></b> : The XML elements used to provide the web context root of the web applications.</p>

<p><b><tt>&lt;naming:resource-ref&gt; .. &lt;/naming:resource-ref&gt;</tt></b> : These elements help us to configure the resource references. In this case, the datasource reference <tt>jdbc/DataSource</tt> is mapped to <tt>jdbc/EmployeeDatasource</tt>. </p>

<p>In the <tt>EMPdemo.jsp</tt>, the following java code snippet is used to obtain a connection from the datasource.</p>

<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>EMPdemo.jsp</b></div><div class="codeContent">
<pre class="code-java">....
....
Context initContext = <span class="code-keyword">new</span> InitialContext();
Context envContext  = (Context)initContext.lookup(<span class="code-quote">"java:comp/env"</span>);
DataSource ds = (DataSource)envContext.lookup(<span class="code-quote">"jdbc/DataSource"</span>);
Connection con = ds.getConnection();
....
....</pre>
</div></div>

<p>The above descriptor and the plan files are the simple illustrations that explain how web modules are developed and assembled for Apache Geronimo. Similarly, many other configurations can be performed in the <tt>geronimo-web.xml</tt>. </p>

<p>All the XML schema files are located at <tt>&lt;geronimo_home&gt;/schema</tt> directory. Please go through the <tt>.xsd</tt> files to have a feel of XML tags that can be used in <tt>geronimo-web.xml</tt> for configuring web applications.</p>






</div>


</td></tr></table></div>
<p>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
        <td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="http://cwiki.apache.org/confluence/images/border/spacer.gif" width="1" height="1" border="0"/></td>
    </tr>
</table>

<div class="smalltext">
    Powered by
    <a href="http://www.atlassian.com/software/confluence/default.jsp?clicked=footer" class="smalltext">Atlassian Confluence</a>
    (Version: 2.2.9 Build:#527 Sep 07, 2006)
    -
    <a href="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470" class="smalltext">Bug/feature request</a><br/>
    <br>
    <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action">Unsubscribe or edit your notifications preferences</a>

</div>

</body>
</html>


Mime
View raw message