总以为自己做coder也有四五年了,也该有点水平了,结果这两天却接连被两个疏忽的地方连续折磨,真是欲哭无泪。只好简单记录一下,一方面聊做发泄,另一方面也给同志们点警示,表犯和我一样的错误-.-
开始就是在调opencms+struts,结果明明是简单的跳转,却怎么也调不通,其间修改链接写法无数次,重启tomcat无数次,傻乎乎看着启动 dos窗口无数分钟。。。然后在浪费了一天后偶然修改链接的文字才发现页面根本没更新。。然后自以为是的开始试图改opencms的缓存机制,在又浪费了很多时间后终于发现原来问题出在tomcat的缓存上,总结一下解决方法如下:1。让JSP不缓存方法网页头部加上
<% response.setHeader("Pragma","No-cache");//HTTP 1.1 response.setHeader("Cache-Control","no-cache");//HTTP 1.0 response.setHeader("Expires","0");//防止被proxy %>
2。偏激点删除%CATALINA_HOME%\work目录下的缓存文件
3。修改%CATALINA_HOME%\conf\server.xml 文件 Context path 中间加上 reloadable="true"
例如:
缓存问题解决后页面的跳转也就ok了,然后试着加入action类进行mapping控制,结果从eclipse里export出来的war包部署后启动时老是报错,开始简单一看报错信息是Parsing error processing resource path /WEB-INF/struts-config.xml,感觉就是配置文件写的有问题了,于是把本就不大的struts-config文件上上下下折腾了半天,未遂。。后来注意到报错信息中有这样的信息:Caused by: java.lang.UnsupportedClassVersionError: hello/LoginForm (Unsupported major.minor version 49.0)上网一查,真相大白,jdk版本问题,eclipse编译项目用的jdk1.5,而tomcat5运行用的是jdk1.4.2,真是郁闷。。,改下project用的jdk版本,问题解决。
结论:万能的google;还有,发现国内同行的问题解决能力似乎还是不如老外,上述问题都能看到有人问,可是很少有准确完整的解答,最后还是在国外论坛找到的答案,看来还要努力啊。。。