发生这样问题有两种情况。
(1)第一种,我的was是6.1,然后用了Struts之后,就发生这样的问题
was 升级后,登录页面提交请求login.action ,页面报Error 404 错误:Error 404: SRVE0190E: File not found: /login.action
was升级后如果部配置com.ibm.ws.webcontainer.invokefilterscompatibility属性,部署的struts应用提交请求就不起作用。
要将Struts2部署到WAS上,需要在WAS上添加一个参数com.ibm.ws.webcontainer.invokeFiltersCompatibility=true.
默认情况下,WAS是不处理用户自定义的filter中的URI映射,而Struts2需要org.apache.struts2.dispatcher.FilterDispatcher拦截所有的请求并且处理Struts2标签。所以不作处理的话你会发现Struts2的项目发布在WAS上无效。
解决方法如下:
进入控制台-》服务器-》应用程序服务器-》Web 容器 > 定制属性
选择新建
com.ibm.ws.webcontainer.invokefilterscompatibility
值为true。
保存后,重新启动was服务器。
详细的可以参考:
http://www-01.ibm.com/support/docview.wss?uid=swg24014758
http://www-01.ibm.com/support/docview.wss?rss=180&uid=swg21284395
http://www.frightanic.com/2010/05/10/solution-to-error-404-srve0190e-on-websphere-6-1/
(2)第二种情况比较少见,但是我实际遇到,找了好久才解决的。同样报的错误是Error 404: SRVE0190E: File not found。
场景;在was 6.0中我在server端写了一个rest服务,web.xml加载的是一个filter,然后client端请求这个rest时候是通过服务器端的filter去过滤的。但实际情况是,fielter被呼叫了,rest也被call到了,但是client端却一直报错误:Error 404: SRVE0190E: File not found: /rest。意思是说我的rest url找不到,可是跟踪后台log 明明都被执行了,为什么还会找不到url呢?
这个问题让我费解,找了两天最后才找到解决方法,就是在server端的web.xml中再增加一个simpleServlet,这样就不会报错了:
<servlet>
<servlet-name>FileServlet</servlet-name>
<servlet-class>
com.ibm.ws.webcontainer.servlet.SimpleFileServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
至于为什么这样做,我就不说了。有兴趣的可以参考:
http://groups.google.com/group/google-guice/browse_thread/thread/493af2e2d5f0ea16/4971253e99f4a202
分享到:
相关推荐
Error 404: SRVE0190E 是一个常见的错误信息,在 WebSphere 应用服务器中经常出现。这个错误通常是由于 JSP 文件无法正确解析引起的。解决这个问题的方法是: 1. 进入控制台,选择服务器 -> 应用程序服务器 -> Web ...
标题 "java.lang.IllegalStateException: OutputStream already obtain" 涉及到的是Java编程中的一个常见错误,特别是当处理I/O流时。这个异常通常在尝试获取已经存在的OutputStream实例时抛出,表明该输出流已经被...
纠结了半天的 java.lang.IllegalStateException: getOutputStream() has already。这个问题困扰了半天,在网上查阅了大量资料 出这个错误一般就是下面2个.....
WOSA/XFS (Windows Open Services Architecture / eXtended File Services) 是一种开放标准,它定义了一套用于ATM(自动柜员机)、POS(销售点终端)等金融自助设备的接口规范。这些规范使得应用程序能够通过统一的...
**IBM WebSphere Application Server 7.0 培训PDF** IBM WebSphere Application Server (WAS) 是IBM推出的一款企业级应用服务器,是Java EE(现在称为Jakarta EE)平台的重要实现之一。WAS 7.0 版本是该产品线的一...
时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环地自增1(分钟) 直到到达指定时间为止。在时钟的每个“时刻”,就会执行一次检查来看看当前电话的服务是否已经完成了,如果是,这个电话从电话队列中...
在这个例子中,开发者应仔细阅读`SRVE0280E`错误信息,并查看完整堆栈跟踪,以确定问题的确切位置。日志中的错误信息可以帮助定位具体是哪个类或方法导致了问题。 6. **测试和验证**: 解决问题后,重新部署应用并...
文档中还提到了多种命令和服务,如WFS_INF_CDM_STATUS(获取现金设备状态)、WFS_CMD_CDM_DISPENSE(执行现金分发)、WFS_SRVE_CDM_SAFEDOOROPEN(安全门打开事件)等。这些命令和服务分别对应了设备管理和现金处理...
VDM 模式的步骤包括四个阶段:第一阶段是 WFS_CMD_VDM_ENTER_MODE_REQ,ATMC 程序调用该命令请求进入 VDM 模式,VDM 的 SP 收到该命令,会发送 SRVE_ENTER_MODE_REQ 事件给所有其他 EXE 程序。第二阶段是所有 EXE ...
事件(Events)部分描述了现金处理设备在正常工作或出现异常时可能产生的各种事件,例如WFS_SRVE_CDM_SAFEDOOROPEN(安全门打开事件)和WFS_SRVE_CDM_SAFEDOORCLOSED(安全门关闭事件)等,这些事件可以被用来触发...
文档还提及了事件部分,描述了软件和硬件事件,如安全门开启(WFS_SRVE_CDM_SAFEDOOROPEN)、现金单元信息变更(WFS_SRVE_CDM_CASHUNITINFOCHANGED)等。这些事件允许软件系统监测和响应现金取款设备所发生的特定事件,...