JavaScud | Forum | JIRA | Blog |
  Dashboard > WebWork2文档中文化计划 > ... > web.xml > web.xml 2.1.x compatibility
  WebWork2文档中文化计划 Log In View a printable version of the current page.  
  web.xml 2.1.x compatibility
Added by scud, last edited by scud on May 18, 2006  (view change)
Labels: 
(None)

在WebWork 2.2之前,一个ServletDispatcher 用来处理action请求.另外,在Velocity里模拟了JSP标签.WebWork在这里做了一个重要的改变:ServletDispatcher 不被推荐使用,被FilterDispatcher代替.这对用那些遵循WebWork最佳实践的用户来说通常工作的很好,也是2.2版本推荐的.然而,因为WebWork 2.2中一些小的行为的变化,老的应用程序可能需要ServletDispatcher.

最大的需要注意的变化是任何包含了其他action的应用,不管是通过一个result dispatcher还是jsp/ww:include标签,使用FilterDispatcher时将不再工作.这是因为Servlet容器不支持请求分发器转向到filter的映射 – 仅有servlet的映射被支持. 为了避开这个问题,你可以改变你的代码来使用action链来代替result分发,以及使用ww:action标签来替换jsp/ww:include.

译注:在Servlet 2.4中,通过设置可以使用原来的方法,尽管这是不推荐的.详细可阅读 http://www.jscud.com/srun/news/viewhtml/4_2006_4/188.htm .

作为一个切换到FilterDispatcher的结果,在Velocity里面的JSP标签仿真不能工作了.这个特性也从来没有非常好地工作和被支持,我们承认(recognize)需要用户利用了这个特性.在WebWork 2.2中,原生的Velocity标签被提供了,而且是 WebWork/Velocity 集成方式中唯一支持的标签.

当然,我们也提供了一个不推荐的方式来避免改变你的代码.我们推荐只要有可能你就更新你的代码.同时,你可能添加下面的Servlets到 web.xml:

Content pulled from external source. Click here to refresh.
<servlet>
    <servlet-name>JspSupportServlet</servlet-name>
    <servlet-class>com.opensymphony.webwork.views.JspSupportServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.action</url-pattern>
</servlet-mapping>
Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators