分享

apache2 + resin4無法解析struts2的.action

 用勿龍潛 2011-12-14
apache2 + resin4無法解析struts2的.action
今天碰到個問題,單獨使用resin4時,可以正常解析struts2的.action URL,但一旦將resin4編譯成apache的模塊之後,.action就無法解析了,頁面上直接報404錯誤,文件找不到。
查看apache的配置文件,相關resin模塊的配置也無問題,httpd.conf文件中resin模塊的相關配置如下:
#
# mod_caucho Resin Configuration
#
LoadModule caucho_module /usr/lib64/httpd/modules/mod_caucho.so
ResinConfigServer localhost 6800
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
<Location /*.action>
  SetHandler caucho-request
</Location>
可以看到,已經指定了.action交給resin處理了,但奇怪的是,resin接到.action的處理請求之後居然沒有正確處理,而是直接拋出404錯誤。
直接在resin的conf/app-default.xml文件裡加入一行servlet映射居然就可以了,不知道為啥單獨使用resin時不用加這行映射,編譯成apache模塊之後接管.action文件時卻需要加了。
在app-default.xml文件裡找到<servlet-mapping.........開頭的行,在後面加入如下一行即可:
<servlet-mapping url-pattern="*.action" servlet-name="resin-jsp"/>
這個意思是指定.action的URL全部交給resin的jsp解析引擎處理。
在app-default.xml裡配置是影響所有虛擬主機下的所有web應用的,如果只需要作用於某一個web應用,則可以在該應用的WEB-INF目錄下創建一個resin-web.xml文件,並加入如下內容即可:
<web-app xmlns="http:///ns/resin">
    <servlet-mapping url-pattern="*.action" servlet-name="resin-jsp"/>
</web-app>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多