写一个glassfish中altdd的例子
时间: 2024-03-18 16:39:16 浏览: 66
第一个EJB简单例子
假设有一个Web应用程序,其中包含一个Servlet,并且需要将Servlet的映射路径从默认的"/"修改为"/myservlet"。这时候,我们就可以使用altdd目录来创建一个可选部署描述符,来覆盖应用程序包中的标准描述符web.xml。
下面是一个altdd目录的示例结构:
```
/myapp
/WEB-INF
/altdd
/web.xml
/classes
/mypackage
/MyServlet.class
/lib
/mylibrary.jar
```
其中,/myapp是应用程序包的根目录,/myapp/WEB-INF/altdd是altdd目录。在altdd目录下,我们创建了一个名为web.xml的可选部署描述符文件,用于覆盖应用程序包中的标准描述符文件。
web.xml文件的内容如下:
```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>
</web-app>
```
该文件中,我们定义了一个名为MyServlet的Servlet,并将其映射路径设置为"/myservlet"。这样,在部署应用程序时,GlassFish会优先读取altdd目录下的web.xml文件,并将其中的配置应用到应用程序中,从而修改Servlet的映射路径。
需要注意的是,altdd目录中的文件必须符合GlassFish的部署描述符规范,否则将无法正确应用。同时,应用程序中只能包含一个altdd目录,否则GlassFish将无法确定应该使用哪个目录中的描述符文件。
阅读全文