新建一个动态web工程,在web-content目录下新建了一个a.jsp文件如下:
在servlet服务器上运行a.jsp,本来除以0应该出现报错,但是网页却显示如下结果:
控制台看到如下警告:
症状原因:
在eclipse配置好的tomcat服务器上双击,打开tomcat服务器的配置界面。按如下操作配置服务器:在Server Options勾上的选项,会在你部署web项目20160928
服务器会在tomcat根目录\conf\Catalina\localhost下自动创建的.xml的单应用配置文件,该文件定义如下:
我们知道,eclipse下配置好tomcat服务器后,会自动创建一个Servers工程,打开Servers工程的config目录会看到一系列配置文件如下:
而Tomcat服务器的config目录下也有一系列配置文件如下:
但是当我们部署web应用时,配置信息会写在Servers工程的confi文件下的配置文件中,而不会写在tomcat的conf文件夹下的配置文件中,这些配置文件在eclipse的workspace文件夹的Server工程文件夹下:
打开Servers工程下的server.xml,会发现,每部署一个web应用到tomcat服务器上就会产生一个描述单web应用配置信息的<Context>标签:
至此,我们发现有两处会产生部署web应用的<Context>配置信息,
一处在tomcat根目录\conf\Catalina\localhost下自动创建的.xml的单应用配置文件,
另一处在Servers工程下的server.xml文件,tomcat服务器启动,当其加载一个web应用时,会先去Servers工程下的server.xml文件寻找<Context>元素,再查找conf\Catalina\localhost下的.xml文件的<Context>元素,那么就会因为出现重复的Context元素而报警告。
解决办法:
警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:20160928' did not find a matching property