今天下载了tomat9,配置到eclipse后拉起来,想跑个欢迎页看看是否起好了,随手写了个index.jsp放到项目Struts2的WebContent根目录下,直接打开网页输入http://localhost:8080/Struts2/,结果让我大吃一惊,竟然报了404。首先检查了我的web.xml,我是按最简方式写的:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/ml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <welcome-file-list> <welcome_file>index.jsp</welcome_file> </welcome-file-list> </web-app>
因为tomcat默认欢迎页就是index,所以写不写welcome-file-list是不影响的,url后缀带不带index.jsp也没关系。不是web.xml的问题,那就是tomcat服务器配置的问题了,因为据说eclipse默认是部署到工作目录的.metadata目录下面,这就导致Struts2本身的部署根本就不起作用。打开eclipse菜单项Windows->show view->Server,看到一个Servers的窗口,里面有我们刚设置的tomcat服务器,右键打开后选择Open,可以看到Server locations这一项默认就是Use workspace metadata,还有,下面的Deploy path写的是wtpwebapps。我们要做的就是把这两项改掉:Server locations选择Use Tomcat installation,Deploy path写webapps。当然如果你的tomcat已经跑起来了,记得改前先停掉,右键打开后选择Add and Remove先把服务移除,改好后记得还得把服务加回去。重新启动后欢迎页终于出来欢迎我了。