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 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 value="production" @web-servlet-init-param 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: app 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 |
![]() | Previous Next |