网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

jsp出现cannotberesolved问题-创新互联

今天接手一个09年的老项目,这个项目是Struts2的,早就忘光了,配置文件也一大堆,废了老大劲解决出现的错误,跑起来了,登录成功后跳转到首页出现500错误,报错:“org.apache cannot be resolved or is not a field”
如图所示:
jsp出现cannot be resolved 问题

创新互联建站专注于三江侗企业网站建设,响应式网站开发,商城开发。三江侗网站建设公司,为三江侗等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

根据这个提示应该是EL表达式${ctxpath}没有定义
但是报错地方上面也有用${ctxpath}的地方,例如:


这就特别奇怪了。

于是我初步怀疑是不是因为EL在javascript里会出错,找了半天还是没有找到相关的解决办法,直到我逐条把js代码都删掉,最后只剩下一个EL表达式变量了,但是还是报错。
没办法了,只能怀疑tomcat版本太高的缘故,更换为tomcat6后,错误依然。
于是我还得逐步调试,终于发现问题所在^_^。
原因是在报错代码之前有一段java程序,把java程序去掉就不会出现500错误,难道这段java代码会把${ctxpath}的值删掉?
又逐条检查发现一个读取session的语句有问题

Organization org = (Organization)request.getSession().getAttribute(“abc”);
    if(org!=null){
        dept = org.getName();
    }

这句话看起来挺正常的,但是request.getSession().getAttribute(“abc”)的值为null,按照我理解若是null的话转换为任何对象不会报错,但是实际上在jsp里出现错误了,但是又不输出错误。这样导致jsp无法被编译,从而导致上面的EL表达式${ctxpath}找不到

最后解决办法有两种:
1.在登录的代码里添加上这个session,保证不能为空
2.先判断是否为null然后再强转类型

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:jsp出现cannotberesolved问题-创新互联
标题网址:http://bjjierui.cn/article/dhsjsh.html

其他资讯