先说正题:
在ECLIPSE里建一个WEB PROJECT项目的时候,在应用下还会生成WebRoot目录(这是使我疑惑的一个起因).
然后目录是这样的:jsp位于%application_name%/WebRoot/
SERVLET位于%application_name%/WebRoot/WEB-INF/classes/下
用ECLIPSE创建的跟自己建的没什么大的区别,就多了个WebRoot目录.这里的关键是当DEPLOY项目的时候会在WEBAPPS下生成项目,自动去掉WEBROOT目录.所以action跟web.xml文件的配置其实跟以前一样,而且你在ECLIPSE默认的工作空间的项目的改动会自动映射到WEBAPP下.
那为什么一个WebRoot目录会让我疑惑呢?假设不用IDE,而是自己在WEBAPP下部署,也加多个WebRoot目录.
然后目录是这样的:jsp位于%application_name%/WebRoot
SERVLET位于%application_name%/WEB-INF/classes/下(WEB-INF目录位于%application_name%下)
那么,配置WEB.XML该这样
<servlet>
<servlet-name>CHECKADMIN</servlet-name>
<servlet-class>SERVLET.CheckAdmin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CHECKADMIN</servlet-name>
** <url-pattern>/WebRoot/CheckAdmin</url-pattern>
</servlet-mapping>
而action="CheckAdmin"
哈哈,还有一件见鬼的事,昨天DEPLOY的时候居然没看到WEBAPPS下有该应用.还傻地直接把EC的默认工作空间下的项目复制到WEBAPPS下.