我在使用struts2标签(<s:debug></s:debug>)时报以下错误:
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
原因:在index.jsp中我直接使用了struts2标签。在访问应用程序的时候直接访问index.jsp(并未经过action的转发);而在web.xml配置文件中配置struts2的默认拦截器拦截后缀名为.action的应用。
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
在这种情况下,struts2的拦截器不起作用。所以报错了。
解决方法:
方法1:修改web.xml对struts2默认拦截器的配置为
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>
方法2:添加一个action,通过这个action转发访问index.jsp
分享到:
相关推荐
at org.apache.struts2.dispatcher.Dispatcher.cleanUpRequest(Dispatcher.java:837) at org.apache.struts2.dispatcher.ng.PrepareOperations.cleanupRequest(PrepareOperations.java:103) at org.apache.struts2....
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 <url-pattern>/* ``` 这段代码定义了Struts 2的核心Filter,并将其映射到所有的请求上。 其次...
总的来说,`org.apache.struts2.dispatcher.FilterDispatcher`是Struts 2框架中一个至关重要的组件,负责请求的分发和Action的调用,对于理解和掌握Struts 2的运行机制具有重要意义。开发者需要熟悉其工作原理和配置...
- 确保在web.xml中配置了Struts2的核心过滤器`<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>`。 - 当使用EL表达式时,注意对象的作用域,以防止找不到...
Struts1和Struts2是两个非常著名的Java Web框架,它们都由Apache软件基金会开发,用于构建MVC(Model-View-Controller)架构的应用程序。虽然它们在目标上相似,但在设计模式、功能特性和使用体验上存在显著差异。...
- **org.apache.struts2.dispatcher.FilterDispatcher**:这是一个过滤器,用于处理所有请求,通常将其URL模式设置为`/*`。该类有四个关键作用: - 执行Action。 - 清理`ActionContext`,防止内存泄漏。 - 处理...
The org.apache.struts2.dispatcher.multipart.MultiPartRequest parser implementation for a multipart request (file upload) 专为multipart请求信息使用的org.apache.struts2.dispatcher.multipart....
org.apache.struts2.dispatcher.ng, org.apache.struts2.dispatcher.ng.filter, org.apache.struts2.dispatcher.ng.listener, org.apache.struts2.dispatcher.ng.servlet, org.apache.struts2.impl, org.apache....
9. struts.dispatcher.parametersWorkaround:这是一个布尔值,用于确定是否使用Servlet请求参数工作区(PARAMETERSWORKAROUND),该工作区用于某些版本的WebLogic。 10. struts.enable.DynamicMethodInvocation:...
5. **Filter和Dispatcher**:虽然Action不直接与Servlet Filter打交道,但理解Servlet Filter机制对于优化Struts2应用很有帮助。例如,你可能需要使用Filter进行登录检查、GZIP压缩等预处理操作。 6. **URL重写和...
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 <url-pattern>/* ``` 自从Struts2.1.3版本之后,原来的`FilterDispatcher`类已经被标记为过时...
本压缩包包含的源代码例子旨在帮助理解Struts 2的工作原理和使用方式,特别是Struts 2的标签库。 首先,我们来了解一下Struts 2的核心概念: 1. **Action类**:是业务逻辑的载体,通常继承自`org.struts.action....
struts2官网2.3版本的最后一个版本,能够...注意此版本的dispatcher是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。详见https://struts.apache.org/docs/struts-23-to-25-migration.html。
5. **结果类型**:Struts 2 结果类型定义了Action执行后的跳转方式,如dispatcher(用于转发到JSP页面)、stream(用于下载文件)等。开发者可以根据需求自定义结果类型。 6. **OGNL(Object-Graph Navigation ...
at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108) at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770) at org.apache.struts2....
3. 解压找到位置 org/apache/struts2/dispatcher/multipart:然后,我们需要解压源码包,找到 org/apache/struts2/dispatcher/multipart 目录。 4. 复制文件 JakartaMultiPartRequest.java、...
<?xml version="1.0" encoding="UTF-8"?... org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter <!-- 拦截所有的url --> <filter-name>struts2 <url-pattern>/* </web-app>
- 在`web.xml`中声明Struts2过滤器,例如:`<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>`。 接下来,我们将简要介绍部分Struts2标签的用法: - `<s:a>`...
Struts2支持多种结果类型,如dispatcher(用于转发到一个JSP页面)、stream(用于返回流数据,如文件下载)等。 3. **Interceptor**: 拦截器是Struts2的一个重要特性,它们允许在Action执行前后插入自定义逻辑,如...
7. ** strut2-struts2-core 包**:这是Struts2的核心库,包含了框架的基础组件,如ActionContext、Dispatcher、Interceptor Stack等。 8. **异常处理**:Struts2提供了一套全面的异常处理机制,允许开发者通过全局...