struts2.0 和dwr整合 http://localhost:8080/项目名称/dwr报错
HTTP Status 404 - There is no Action mapped for namespace / and action name dwr.
不知道为什么总是报这个错,是不是我的配置文件那里写错了?大家有没有遇到过呢?
------解决方案--------------------你为什么要访问这个地址呢?
dwr的servlet配置到Web.xml中了吗?
什么信息都没有,谁知道你有没有错?
------解决方案--------------------你试试
http://ip:port/dwr/engine.js
并没有dwr这个Servlet或者Action。
------解决方案--------------------估计你没理解DWR是怎么回事儿,或者理解错了,或者,你的表述我没法理解。
------解决方案--------------------<filter-mapping>
<filter-name>struts2 </filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping>
<servlet-mapping>
<servlet-name>dwr-invoker </servlet-name>
<url-pattern>/dwr/* </url-pattern>
</servlet-mapping>
这两个冲突了吧
------解决方案--------------------在 struts.xml 中
<constant name="struts.action.extension" value="action" />
其默认值是 action,, 除了 action 的后缀,无后缀也会被其拦截
总觉得楼上几位朋友似乎都用的 struts 1 啊
------解决方案--------------------这是因为你在地址栏中提交请求时:struts2的拦截器会默认在其后添加.action
修改一下struts.xml如下:
<!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。-->
<constant name="struts.action.extension" value="do"/>
------解决方案--------------------下面是DWR在WEB.XML中的配置信息,应该是你配置没正确
XML code
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>