最近了解了下struts2,关于web.xml的配置有一个一问:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在配置“filter-mapping”的url-pattern中都为/*,我现在又加入了一个快速开发的组件,该组件在web.xml中有配置信息:
<servlet>
<servlet-name>djfocus-action</servlet-name>
<servlet-class>com.djfocus.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>djfocus-action</servlet-name>
<url-pattern>/djfocus/servAction</url-pattern>
</servlet-mapping>
结果启动tomcat运行后,在web页面用到了组件的网页就会报错,报错内容如下:
Could not find action or result
There is no Action mapped for action name servAction. - [unknown location]
估计是struts2的配置在解析的时候把servlet-mapping中的url抓取出来了。本人没有深入去研究struts2,想请教下大家,可以解决这个问题嘛,遇到了url-pattern问题?
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在配置“filter-mapping”的url-pattern中都为/*,我现在又加入了一个快速开发的组件,该组件在web.xml中有配置信息:
<servlet>
<servlet-name>djfocus-action</servlet-name>
<servlet-class>com.djfocus.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>djfocus-action</servlet-name>
<url-pattern>/djfocus/servAction</url-pattern>
</servlet-mapping>
结果启动tomcat运行后,在web页面用到了组件的网页就会报错,报错内容如下:
Could not find action or result
There is no Action mapped for action name servAction. - [unknown location]
估计是struts2的配置在解析的时候把servlet-mapping中的url抓取出来了。本人没有深入去研究struts2,想请教下大家,可以解决这个问题嘛,遇到了url-pattern问题?
解决方案 »
- mysql ifnull 问题
- 关于JS
- 过滤action的问题 大哥们来看下
- Could not execute JDBC batch update; SQL [delete from question where id=?]; Lock wait timeout exceeded; try restarting transacti
- 这个问题不知道咋写了!
- Ajax 和 Session 之间的矛盾?????
- servlet能否用类似post方法向其他JSP页面发出请求
- 50分请教:如何让html里的<input type=text>只能输入数字?急!在线等
- 高分 求救 毕业设计 中一简单问题(100分)
- html
- 通信信息
- JSP聊天 代码问题! 求指教!!!!!
<filter-name>struts2</filter-name>
<url-pattern>/*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*.action</url-pattern>
</filter-mapping>
可以改成这个样子试试
还是不行呢,改成/*.action??
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>
/fckeditor/editor/filemanager/connectors/*
</url-pattern>
</servlet-mapping>
</web-app>
servAction命名控件或是目录下的所有请求,具体要看请求地址
也就是地址中有servAction的
<filter-name>struts2</filter-name>
<url-pattern>*.jspa</url-pattern>
</filter-mapping>