最近把写好的JEE项目上传到服务器后,发现所有在文件夹中的jsp页面
在页头部分用<%@page import=”com.xxxx.dao.xxx”%>
导入类后,再浏览器中打开这个jsp页面时会出现
会出现500报错only a type can be imported: XXX resolves to package
发现这个错误后,去百度了好久,终于受到了这篇文章的启发:
http://blog.csdn.net/PengYuZhu/article/details/5868361
原来服务器 /usr/local/tomcat/conf/vhost 目录下的虚拟主机配置文件中是这么写的
<Host name="www.xxx.cc" appBase="/data/wwwroot/www.xxx.cc" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/wwwroot/www.xxx.cc" reloadable="false" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="www.xxx.cc_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
在标签的属性中,appBase这个属性若填写了路径,tomcat会认为
这个目录下的每一个文件夹,都是一个独立的环境
所以jsp页面去引用其他编译好的class文件时就会报错
所以经过修改后,将标签中的appBase的值置空后,重启tomcat服务器
再次访问原来的页面就可以了,错误完美解决
<Host name="www.xxx.cc" appBase="" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/wwwroot/www.xxx.cc" reloadable="false" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="www.xxx.cc_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>