Tomcat中Jsp使用没有命名空间类的问题
所以我猜测,可能是Tomcat在解析JSP文件的时候,没有发现有用户导入的类型(没有使用命名空间,因而无法导入包,也不需要加包名的前缀,导致Tomcat在解析JSP文件的时候无法自动感知到当前是引用了用户自定义的类的;也导致在编译的时候却能通过),所以在动态编译的时候没有设置ClassPath的值,然后导致了这个问题。然而对于这个“Bug”,Tomcat本身应该不会想不到,何况从逻辑上,默认的把/classes和/lib的目录加入到ClassPath中去编译动态生成的Servlet类也是合理的,那么Tomcat为什么要这样做呢?我的猜测可能会有两点吧:1. Tomcat也认为不定义包名是非常不好的习惯,因而故意留下这个缺陷,以惊醒编程人员。2. 也有可能是出于性能的考虑,如果不加ClassPath应该是可以提升编译动态生成的Servlet类的速度的,因而只要不需要ClassPath的情况下,默认就不加。