| |
技术文档>>JAVA>>新手入门>>基础入门>查看文档 |
|
| |
从server.xml到web.xml的个人发现! |
|
| |
文章作者:未知 文章来源:水木森林 |
|
| |
查看:102次 录入:管理员--2007-11-17 |
|
| |
我是一个初学者,本没什么东西可以卖弄的,但一次遇到一个配置问题, 苦思良久才得以解决,心情舒畅的同时,特与跟我一样同为初学的同志们 分享,不到之处,敬请原谅!!
问题:
某天我用eclipse写了两个servelet程序,准备摆上tomcat上调试,一切配备好 了之后启动tomcat,结果tomcat启动报错web.xml文件出错 <web-app> did not match.
web.xml配置文件的原码是这样的: <?xml version="1.0" encoding="gb2312" ?> <!doctype web-app (view source for full doctype...)> - <web-app> - <servlet> <servlet-name>servletlogin</servlet-name> <servlet-class>org.catalina.login</servlet-class> </servlet> - <servlet-mapping> <servlet-name>servletlogin</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> - <servlet> <servlet-name>servletcheckid</servlet-name> <servlet-class>org.catalina.checkid</servlet-class> </servlet> - <servlet-mapping> <servlet-name>servletcheckid</servlet-name> <url-pattern>/checkid</url-pattern> </servlet-mapping> </web-app>
解决:
后来我在研究这段代码时,分别屏蔽掉其中一个servlet,他又可以 正常启动。这证明语法上不存在问题。结果在研究server.xml文件时 发现问题所在:先定义<servlet>,再定义<servlet-mapping>。 我不知道为什么,我把代码改为
<?xml version="1.0" encoding="gb2312" ?> <!doctype web-app (view source for full doctype...)> - <web-app> - <servlet> <servlet-name>servletlogin</servlet-name> <servlet-class>org.catalina.login</servlet-class> </servlet> - <servlet> <servlet-name>servletcheckid</servlet-name> <servlet-class>org.catalina.checkid</servlet-class> </servlet> - <servlet-mapping> <servlet-name>servletlogin</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> - <servlet-mapping> <servlet-name>servletcheckid</servlet-name> <url-pattern>/checkid</url-pattern> </servlet-mapping> </web-app>
后,一切正常。
希望跟我一样迷茫的初学者有所收获,也希望对此有所了解的高 手们能指点指点。感谢!!
|
|