struts2 ,web.xml中配置为/*.action,运行报错Invalid <url-pattern> /*.action in filter mapp 如题,我非得改为<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 才行,为什么呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试过,如果改为这样的话,如果某些页面使用了struts2的标签的话,运行时是会报错的说是<url-pattern>*.action</url-pattern>配置的不对 filter知识没理解,容器只认 全名匹配,路径匹配,扩展名匹配./*.action 又是路径匹配,有时扩展名匹配. 容器没办法区分建立学习了servlet,在学框架. 你的为什么不行3楼已经说的很清楚了,我很想知道*.action在什么情况下不行,把你的jsp上写的标签与错误信息贴出来! LZ也可以写成/*.*在URL匹配试一试 我的也是 不知道为什么 如果写成/*.action 初始化的时候就会报错,如果写成*.action 在jsp页面的struts 标签会报错。 这个是struts2的bug,我已经发现了 引用 2 楼 toss2000 的回复: 引用 1 楼 ltandfyy 的回复: 写*.action 试过,如果改为这样的话,如果某些页面使用了struts2的标签的话,运行时是会报错的说是<url-pattern>*.action</url-pattern>配置的不对那你是用的标签有问题,我用这样的配置已经用了10来个项目了都没问题!你再仔细检查一下吧! 由于你使用标签的时候访问的是*.jsp页面,访问的时候用到标签也要使用到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>*.action</url-pattern> </filter-mapping> <filter> <filter-name>struts3</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts3</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>就是把*.jsp的请求也用struts2拦截掉,这样就不会出错了。这个问题不是标签问题,是struts2拦截器到底拦截什么请求的问题,类似的lz可以自己慢慢试验 appscan扫描出来的漏洞该如何解决,求大神降临指导 有了ajax,struts1还有意义吗?(第三次发帖请教) jsp从数据库调出中文乱码 linux下firefox内嵌 GNOME-Mplayer的问题。 ssh框架启动tomcat提示错误 关于struts1.3的html:file的问题 jsp无法使用bean的问题 struts 访问mysql数据库 java中棘手问题,绝对让你吃惊!!!! 新手请教solr spellcheck问题 get方法转码的问题 想在局域网搞一个在线播放的服务器。。。求思路、、、
/*.action 又是路径匹配,有时扩展名匹配. 容器没办法区分建立学习了servlet,在学框架.
写*.action 试过,如果改为这样的话,如果某些页面使用了struts2的标签的话,运行时是会报错的说是<url-pattern>*.action</url-pattern>配置的不对
那你是用的标签有问题,我用这样的配置已经用了10来个项目了都没问题!你再仔细检查一下吧!
由于你使用标签的时候访问的是*.jsp页面,访问的时候用到标签也要使用到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>*.action</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts3</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts3</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
就是把*.jsp的请求也用struts2拦截掉,这样就不会出错了。这个问题不是标签问题,是struts2拦截器到底拦截什么请求的问题,类似的lz可以自己慢慢试验