问题描述
求大牛指点迷津~~~~谢谢啦。最近想用struts实现一个网上书店的网站,代码采用struts开放入门光盘里的代码,我创建好web工程后,觉得原来的代码组织结构不好,所以自己把代码分门别类放在合适的包下,代码内部的package也改了,没编译错误。但是启动tomcat后却运行不了。提示jsp里引用的java类找不到。网上找了一些资料,有说工程目录结构不对的,我感觉有可能是这个原因,但是怎么改成正确的目录呢?我的包结构是:bookstore》src》com.xyz》action》*.java》form》*.java》jsp》js》css》image》WebRoot》WEB-INF》lib》classes》*.xml和struts配置文件》work错误如下:HTTPStatus500---------------------------------------------------------------------------------typeExceptionreportmessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.exceptionorg.apache.jasper.JasperException:UnabletocompileclassforJSP:Anerroroccurredatline:14inthejspfile:/jsp/bookMain.jspConstants.BOOK_CAT_LIST_KEYcannotberesolvedtoatype11:12:13:<%14:VectorcatList=(Vector)session.getAttribute(Constants.BOOK_CAT_LIST_KEY);
解决方案
解决方案二:
看看tomcat里部署的是不是你改过后的项目,最后你前把tomcat里以前部署的项目删除掉然后再部署你改后的项目
解决方案三:
引用1楼jackey_ctdw的回复:
看看tomcat里部署的是不是你改过后的项目,最后你前把tomcat里以前部署的项目删除掉然后再部署你改后的项目
是要把tomcat里部署的所有项目都删除掉,然后只部署当前项目吗?
解决方案四:
刚试了,重新部署,还是不行。
解决方案五:
MyEclipsejre类库的配置对不对
解决方案六:
你修改后的项目路径上没什么问题把
解决方案七:
引用4楼a27574520的回复:
MyEclipsejre类库的配置对不对
配置的对啊。最纳闷的就是,在jsp里没错误,整个工程也没有错误,类包什么的也导入了,tomcat》webapps》项目下的WEB-INF里的lib和classes目录也正常。就是运行的时候UnabletocompileclassforJSP。我也觉得可能是整个工程的目录安排有问题。但不知道怎么改才对。
解决方案八:
在myeclipse中,配置tomcat的时候要配jdk目录,先看看tomcat启动时会不会报错,如果没有报错,先写一个小的javaweb工程,看能不能访问到基本页面。<%14:VectorcatList=(Vector)session.getAttribute(Constants.BOOK_CAT_LIST_KEY);中的Constants.BOOK_CAT_LIST_KEY要打引号?
解决方案九:
引用7楼chmicrosoft的回复:
在myeclipse中,配置tomcat的时候要配jdk目录,先看看tomcat启动时会不会报错,如果没有报错,先写一个小的javaweb工程,看能不能访问到基本页面。<%14:VectorcatList=(Vector)session.getAttribute(Constants.BOOK_CAT_LIST_KEY);中的Constants.BOOK_CAT_LIST_K……
tomcat没报错,如果jsp页面里不调用包里的类(com.xyz.*)就可以正常访问,若调用了就出现UnabletocompileclassforJSP。Constants.BOOK_CAT_LIST_KEY是常量类Constants的一个变量。
解决方案十:
还没解决啊,在线等。各位大牛帮忙支招啊,谢啦~~
解决方案十一:
Constants写全路径试试。比如VectorcatList=(Vector)session.getAttribute(com.xxx.yyy.Constants.BOOK_CAT_LIST_KEY);或者jspimport要写全。如果还不好使,你看看你的class下对应的包路径有没有这个class。
解决方案十二:
500服务器错误,你的JSP引用了那个java类,可是你在jsp里没有importConstants类进去,<%@pageimport="com.xyz.action.*"%>
解决方案十三:
lcbeyound:先不改运行成功了再改结构,感觉你处于一知半解的状态。祝福