WEB-INF Directory
Today I would like to explore more how the WEB-Content directory is structured, and mainly how the Web.xml file. I will do this using mainly [1], that is the official information from SUN.
The structure of the WEB-INF is not too complicated.
/WEB-INF/
/WEB-INF/web.xml
/WEB-INF/lib/
/WEB-INF/classes/
The /classes directory for servlet and utility classes. The classes in this directory must be available to the application class loader.
The /lib area for Java ARchive files. These files contain servlets, beans, and other utility classes useful to the Web application.
The web.xml file is an xml file ( ahhhh!!) that contains the configuration of the servlet.
<?xml version=”1.0″ encoding=”UTF-8″?> <web-app id=”WebApp_ID” version=”2.4″ xmlns=”http://java.sun.com/xml/ns/j2ee” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”> <display-name>ZSVNXmlRpcServer </display-name> <servlet> <description/> <display-name>rpc</display-name> <servlet-name>rpc</servlet-name> <servlet-class> com.zagile.scm.servlet.ZSCMXmlRpcServlet </servlet-class> <init-param> <param-name>enabledForExtensions</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>rpc</servlet-name> <url-pattern>/rpc</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>view.jsp</welcome-file> </welcome-file-list> </web-app>Above there is an example of an web.xml file:
There is an good site with references to each TAG used on this file [2]. I will put the one that I find more important here, but go to that page if you need more information.
servlet-class – The fully-qualified class name of the servlet. Use only one of either the <servlet-class> tags or <jsp-file> tags in your servlet body.
init-param – Contains a name/value pair as an initialization parameter of the servlet. Use a separate set of <init-param> tags for each parameter.
welcome-file – File name to use as a default welcome file, such as index.html
servlet-mapping – The servlet-mapping element defines a mapping between a servlet and a URL pattern.
I wrote this post because I was facing problems due to some problems in my web.xml. This was the error that that were happening when I tried to rise the server:
org.apache.catalina.loader.StandardClassLoader@119cca4 com.sun.ws.rest.impl.container.servlet.ServletAdaptor java.lang.ClassNotFoundException: com.sun.ws.rest.impl.container.servlet.ServletAdaptor at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
My web.xml it was like the old one but with this lines more
</servlet> <servlet> <servlet-name>ServletAdaptor</servlet-name> <servlet-class>com.sun.ws.rest.impl.container.servlet.ServletAdaptor</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ServletAdaptor</servlet-name> <url-pattern>/resources/*</url-pattern> </servlet-mapping>
The program was complaining about that the class was not found, what was correct, I didn’t use this classes so I removed it from my web.xml file and voilà it worked. It seems that these lines were added for the Netbeans that my friend used to open the project I am working( I use eclipse). Well probably I am not an expert in web.xml file, but I am able to understand how it works.
If someone could explain why the netbeans added those lines I would appreciate.
[1] – http://cds-esd.sun.com/ESD6/JSCDL/servlet/2.4-fr/servlet-2_4-fr-spec.pdf
[2] – http://edocs.bea.com/wls/docs61/webapp/web_xml.html
Nenhum comentário ainda.
Deixe um comentário
-
Arquivos
- Dezembro 2008 (2)
- Novembro 2008 (5)
- Agosto 2008 (1)
- Abril 2008 (2)
- Novembro 2007 (2)
- Setembro 2007 (1)
- Agosto 2007 (4)
-
Categorias
-
RSS
Entradas RSS
Comentários RSS