struts2.5.5通配符问题

问题:使用通配符会报错,找不到action。

问题原因: struts2.5 为了增加安全性,在 struts.xml 添加了这么个属性:<global-allowed-methods>regex:.*</global-allowed-methods>

解决:

一、注意头部信息,这个应该是用来指定文件中允许使用那些标签。

<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">

二、加上:  <global-allowed-methods>regex:.*</global-allowed-methods> 例如:

<!-- 定义一个名为 yh 的包,继承 Struts 2 的默认包 -->
    <package name="yh" extends="struts-default">    

        <interceptors><!-- 配置自定义拦截器LoginedCheckInterceptor -->
            <interceptor name="loginedCheck" class="com.yh.core.filter.LoginedCheckInterceptor"/>
        </interceptors>       

        <global-results><!-- 定义全局result -->
            <result name="exception">/exception.jsp</result><!-- 定义名为exception的全局result -->
            <result name="tologin">/views/jsp/main/tologin.htm</result>
        </global-results>

        <global-allowed-methods>regex:.*</global-allowed-methods>
        <global-exception-mappings><!-- 定义全局异常映射 -->
            <!-- 捕捉到Exception异常(所有异常)时跳转到exception所命名的视图上 -->
            <exception-mapping exception="java.lang.Exception" result="exception"/>
        </global-exception-mappings>
    </package>

或者(不加上面这句),在action中加上指定允许调用的方法的语句:
<allowed-methods>login,logout</allowed-methods>

时间: 2024-11-14 14:40:47

struts2.5.5通配符问题的相关文章

struts2.5.2 通配符问题_亲测有用

学了一段时间struts2,跟着教程做,但发现struts2的版本不同,很多东西的使用是有差异的.例如之前遇到的创建sessionFactory的方式就跟之前版本有着明显的差异.今天又遇到一个问题,那就是通配符的使用. 问题:若不使用通配符,可以找到相对应的action,而使用通配符就会报错,找不到actionmapping之内的错,找不到action. 问题原因: struts2.5 为了增加安全性,在 struts.xml 添加了这么个属性:<global-allowed-methods>

Struts2 ActionWildcard(通配符配置)约定优于配置

1.新建web Project:Struts2_ActionWildcard2.新建以下的文件:项目图: src: StudentAction.java TeacherAction.java struts.xml WebRoot: index.jsp Studentadd_success.jsp Studentdelete_success.jsp Teacher_add_success.jsp Teacher_delete_success.jsp 3.以下为项目中各文件的代码: (1)strut

struts2动作方法通配符

struts.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>

Struts2中Action通配符的配置

1.在我的一篇文章中,介绍了Struts2中Action的动态调用方法:http://blog.csdn.net/u012561176/article/details/44347429 但是那样子还不是最简单的,最简单的是使用通配符,将配置量降到最低,但是这个也比较难已理解,在使用通配符时,一定要遵守"约定优于配置"的原则. 2.接下来介绍一下通配符,使用星号(*)表示所有,{数字}表示第几个通配符,例如: *Action,那么{1}就表示第一个星号(*),如果是 *_* 的话,那

Struts2的通配符配置方式

Struts2的Action类很有意思,你可以使用3种方式来实现具体的Action类: 让你的Action类继承自ActionSupport类(项目中最常用这种方式,因为ActionSupport类中定义了很多帮助方法) 让你的Action类实现Action接口 使用POJO的方式来实现,只要Action类中有一个返回值为String的execute方法就好了(这种方式使Action类最容易被测试) 以上三种Action的实现方式都可以被struts2框架自动识别,如果你在struts.xml里

struts2的通配符与动态方法调用

1.Action标签中的method属性 我们知道action默认的执行的方法是execute方法,但是一个action只执行一个方法我们觉得有点浪费,我们希望在一个action中实现同一模块的不同功能.怎么办呢? 思考: 我们是否可以在execute()方法中添加一个判断,然后根据该判断选择我们执行的方法呢?我想struts2也是这样干的.不过是在execute之前的方法中进行的,判断的依据不是通过参数,而是通过取读配置文件或者其他得到的. Struts2在Action中为我们提供了这样的一个

拓薪教育-struts2视频教程-任亮

Struts2内幕深入剖析和实战精讲 下载地址:http://1211fd.l42.yunpan.cn/lk/c3YCF8DiuVvYL  密码 09c2 · 01.拓薪教育-struts2的前奏web项目分层介绍和struts2的位置 · 02.拓薪教育-struts2介绍 · 03.拓薪教育-struts2的第一个例子 · 04.拓薪教育-struts2的struts2的运行流程 · 05.拓薪教育-struts2的struts2的配置文件 · 06.拓薪教育-struts2的struts的

struts2框架 转载 精华帖

一.Struts2简介 参考<JavaEE 轻量级框架应用与开发-S2SH> Struts框架是流行广泛的一个MVC开源实现,而Struts2是Struts框架的新一代产品,是将Struts1和WebWork两种技术进行兼容.合并的全新的MVC框架.Struts2框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易. Struts1运行原理:  Struts1工作流程: (1)客户端向Web应用发送请求,请求被核心控制器Action

和Struts2框架的初体验

Struts2的基础知识 问题一:什么是框架 框架是一个基本概念上的结构用于解决复杂的问题,应用在特定的领域内.使用框架可以使代码的复用大大提高,开发效率和质量也得到提高;他提供统一的标准,使后期维护的时间大大降低.归根到底框架就是用来提高开发效率的一种工具. 问题二:什么是Struts2框架 简单来说Struts2框架是基于MVC设计模式的Web应用框架,他本质相当于一个Servlet,所以他在MVC设计模式中相当于一个控制器,用来建立模型和视图的数据交互. 问题三:为什么使用Struts2而