jfinal的filter不满足websphere规范?websphere和tomcat配置FILTER有什么区别?为什么websphere中filter失败?
@JFinal 你好,想跟你请教个问题:
项目运行环境是websphere集群,把jfinal项目war包发不到环境中没问题,但是通过路径访问的时候访问不到。
FFDC Exception:com.ibm.ws.webcontainer.webapp.WebAppErrorReport SourceId:com.ibm.ws.webcontainer.servlet.FilterProxyServlet.dispatch ProbeId:312 Reporter:com.ibm.ws.webcontainer.servlet.FilterProxyServlet@2a7c2a7c
com.ibm.ws.webcontainer.webapp.WebAppErrorReport: SRVE0190E: 找不到文件:/ggw/login/login.html
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:966)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
Caused by: java.io.FileNotFoundException: /ggw/login/login.html
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:572)
... 19 more
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
var websocket = null;
//判断当前浏览器是否支持WebSocket
//ws://echo.websocket.org
if('WebSocket' in window){
websocket = new WebSocket("ws://localhost:80/ijiami_pro/websocket");
}else{
alert('不支持websocket');
}
总是建不起websocket服务的连接。
你说的需要全路径情况我觉得不太可能,不过你可以在configConstant(Constants me) 设置一个共享变量,比如:
明显是自己把资源路径没有弄正确,不要在JFinal上找原因
JFinal 项目是标准的 java web 项目,符合 servlet filter 规范。如果 websphere 也符合 wervlet filter 规范是肯定没有问题的。
楼主所说的通过访问路径是指什么意思? 另外异常信息为:
是直接请求的 /ggw/login/login.html 文件么? 为啥不是去请求 action? jfinal 对静态请求不会做任何干预,会直接交由 webspahere、tomcat或jetty来处理。
苦逼的程序员,唉,加班中。。。
从早上10点测试到现在,总算找到问题了,其实使用的框架,工具,都没问题,但从我的感觉上来说可能和BEETL配置ROOT路径时,获取CLASSPATH参数有关把,仅限我个人猜测。
问题的核心是IBM-WAS-我的服务器在启动的时候会初始化classpath=C:IBMWASAppServerprofilesC:IBMWASAppServerprofiles(模版引擎读取到的ROOT路径) ,我自己在BEETL的配置文件中修改为模板根目录为C:IBMWASAppServerprofilesAppSvrinstalledAppsBJEcmCellwebjson_war.earwebjson.war后,报错为模板根目录为 C:IBMWASAppServerprofilesC:IBMWASAppServerprofilesAppSvrinstalledAppsBJEcmCellwebjson_war.earwebjson.war,因此我修改模板根目录为AppSvrinstalledAppsBJEcmCellwebjson_war.earwebjson.war就好了,至此模版引擎工作正常。
还发现了一个问题,我的项目在WAS下,页面中获取资源的路径必须是绝对路径(也就是必须要有HTTP开头的),直接/是不行的,所以还要找大赋再做一个获取网站项目名路径的常量(和ctxPath一样功能),我就直接写就好了,哈哈
测试了一下午,只部署JFINAL项目好像,没啥问题,带上模版引擎后路径就不正确呢,还需要进一步的确认。