如何解决如何让WebLogic将某些文件处理为JSP
| 我正在将Java Web应用程序从OC4J迁移到WebLogic 11g。该应用程序包含以下servlet映射:<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*_dyn.txt</url-pattern>
</servlet-mapping>
这在OC4J中有效的原因有两个:
-servlet名称\“ jsp \”自动映射到JSP servlet
-OC4J接受模式* _dyn.txt,即使它不符合servlet标准。
我在WebLogic中发现,可以通过添加以下内容将servlet名称\“ jsp \”显式映射到JSP servlet:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>weblogic.servlet.JSPServlet</servlet-class>
</servlet>
如果我使用标准URL模式(例如/ dyn / *),但未使用OC4J接受的非标准URL模式* _dyn.txt,则此方法有效。
我尝试使用Tuckey \的UrlRewriteFilter来映射它,但这在JSPServlet类中导致异常。
我的UrlRewriteFilter规则如下所示:
<rule match-type=\"wildcard\">
<from>**/*_dyn.*</from>
<run class=\"weblogic.servlet.JSPServlet\" method=\"service\" />
</rule>
我得到的例外是:
Error 500--Internal Server Error
[AddToMap: pattern=/bla/test_dyn.txt class=jsp_servlet._bla.__test_dyn_txt]
at weblogic.servlet.JSPServlet.service(JSPServlet.java:220)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.tuckey.web.filters.urlrewrite.Run.invokeRunMethod(Run.java:416)
谁能告诉我如何实现自己的目标?
谢谢
马丁
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。