Professional Java Tools for Extreme Programming [Electronic resources]

Richard Hightower, Warner Onstineet al.

نسخه متنی -صفحه : 228/ 57
نمايش فراداده

Webdoclet Tags

Let's take a moment and discuss the tags we've used in our servlet example shown in the previous listing. The first tag in our example is @web.servlet. This tag is designed to create the class-level <servlet> element within the deployment descriptor. For our servlet, we've defined the name, display-name, and load-on-startup attribute of the tag:

@web.servlet name="SimpleServlet" 
display-name="Simple Servlet"  
1oad-on-startup=" Y'

The result of the tag once processed by XDoclet will be:

<servlet>
<servlet-name>SimpleServlet</servlet-name> 
<display-name>Simple Servlet</display-name> 
<servlet-class>example.SimpleServlet</servlet-class> 
<load-on-startup>1</load-on-start up>
</servlet>

The attributes available for the @web.servlet tag are shown in the following table.

Attribute

Description

Required

Name

Servlet name

T

display-name

Servlet display name

F

Icon

Servlet icon

F

Description

Servlet description

F

load-on-startup

The load order of this servlet – number where 1 is first

F

run-as

The role to run this servlet as

F

The next two webdoclet tags in our example use the @web-servlet-init-param to create the init-param tags within the deployment descriptor:

@web-servlet-init-param name="table" value="production" 
@web-servlet-init-param name="account" value="accounts"

The result of these tags will be:

<servlet> 
<servlet-name>
...
<init-param>
<param-name>table</param-name> 
<param-value>production</param-value> 
</init-param>
<init-param>
<param-name>table</param-name> 
<param-value>production</param-value> 
</init-param>
</servlet>

The attributes available for the @web.servlet-init-param tag are shown in the following table.

Attribute

Description

Required

Name

Parameter value

T

Value

Parameter value

F

Icon

Servlet icon

F

Description

Servlet description

F

After creating the necessary parameters for the servlet, we can define any J2EE resources needed by the servlet. In our example servlet, we will be accessing a database to pull rows that will be displayed to the user based on the init-params:

@web.resource-ref description="database connection" 
name=' jdbc/dbconnection" 
type="javax.sgl.DataSource" 
auth="Container"

The result of this webdoclet tag will be:

<resource-ref>
<description>JDBC Connection</description> 
<res-ref-name>jdbc/dbconnection</res-ref-name> 
<res-type>javax.sg1.DataSource</res-type> 
<res-auth>Container</res-auth>
</resource-ref>

The attributes available for the @web.resource-ref tag are shown in the following table.

Attribute

Description

Required

Name

Resource name

T

Type

Resource type

T

Auth

Resource authentication: Application or Container

T

Description

Resource description

F

Scope

Resource scope: Shareable Unshareable

F

Jndi-name

Resource Jndi-name

F

Finally, we can apply the necessary pattern-matching mappings necessary for launching the servlet. This is accomplished using the @web.servlet-mapping tag:

@web.servlet-mapping url-pattern="/Example/*" 
@web.servlet-mapping url-pattern="/SimpleServlet"

These two tags will define the following mappings in our deployment descriptor:

<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name> 
<url-pattern >/Example/* </url-pattern > 
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name> 
<url-pattern>SimpleServlet</url-pattem> 
</servlet-mapping>

The attribute available in the @web.servlet-mapping tag is shown in the following table.

Attribute

Description

Required

url-pattern

Pattern to match

T