zoukankan      html  css  js  c++  java
  • JavaEE-------------------------自定义Struts 2拦截器得到请求参数

    当在用Struts 2开发的时候,有遇到过前台传递参数后台,却不能直接看到,当前的Action到底是有哪个类的哪个方法来处理,返回结果是什么,执行时间是多少的问题,现在就一起来看看吧如何得到这些结果吧

    我把相关的Jar包和说明文档放在这里了

    http://sdrv.ms/185SA0p

    使用

    MyEclipse中在你需要的Struts 2 工程上选择”Build Path->Configure Build Path…”

     

    选择”Add External JARs…”,找到本压缩包里的JAR文件的位置选择即可


    在Struts 2的配置文件struts.xml中配置如下(仅仅是个示例,除了类名其他随意)

    <interceptors>
                <interceptor name="bqdebug" class="com.bq.util.MyInterceptor" />
                <interceptor-stack name="myStack">
                    <interceptor-ref name="bqdebug" />
                    <interceptor-ref name="defaultStack" />
                </interceptor-stack>
            </interceptors>
    <default-interceptor-ref name="myStack" />

    大体类似这样的结构,解释一下,在拦截器里自定义自己的拦截器栈然后把它和defaultStack绑在一起,然后把它们所在的这个栈设置为默认拦截器栈即可,这种配置方式和Struts 2自己的配置拦截器栈相同


     控制台打印情况

    ------------------------Start-------------Designed By BaiQiang---------------------
    开始拦截Action执行之前的动作2013-8-29 11:34:45---------------------------
    得到请求IP:127.0.0.1
    得到请求地址:http://127.0.0.1:8080/Server/getBook.action
    得到请求方法:GET
    得到的参数:id=10
    执行类与方法com.bq.GetBook.execute()----------------
    ---------------------Action的方法开始执行---------------------

    Hibernate: select book0_.id as id0_0_, book0_.name as name0_0_, book0_.detail as detail0_0_ from book book0_ where book0_.id=?
    Hibernate: select book0_.id as id0_0_, book0_.name as name0_0_, book0_.detail as detail0_0_ from book book0_ where book0_.id=?

    处理文件:file:/E:/Program%20Files%20(x86)/tomcat/apache-tomcat-6.0.30/apache-tomcat-6.0.30/webapps/Server/WEB-INF/classes/struts.xml

    处理行位置:第23行

    返回参数:success

    返回地址:{location=/book.jsp}

    拦截Action执行之后的动作2013-8-29 11:34:46

    执行Action需要503毫秒
    --------------------------------------End----------------------------------------------


    ------------------------Start-------------Designed By BaiQiang---------------------
    开始拦截Action执行之前的动作2013-8-29 11:34:47---------------------------
    得到请求IP:127.0.0.1
    得到请求地址:http://127.0.0.1:8080/Server/changeBook
    得到请求方法:POST
    得到的参数:book.name=美术&book.detail=程序设计的艺术&book.id=10
    执行类与方法com.bq.ChangeBook.execute()----------------
    ---------------------Action的方法开始执行---------------------

    Book [id=10, name=美术, detail=程序设计的艺术]
    Hibernate: select book0_.id as id0_0_, book0_.name as name0_0_, book0_.detail as detail0_0_ from book book0_ where book0_.id=?
    Hibernate: select book0_.id as id0_0_, book0_.name as name0_0_, book0_.detail as detail0_0_ from book book0_ where book0_.id=?
    Hibernate: update book set name=?, detail=? where id=?

    处理文件:file:/E:/Program%20Files%20(x86)/tomcat/apache-tomcat-6.0.30/apache-tomcat-6.0.30/webapps/Server/WEB-INF/classes/struts.xml

    处理行位置:第28行

    返回参数:success

    返回地址:{actionName=query}

    拦截Action执行之后的动作2013-8-29 11:34:48

    执行Action需要310毫秒
    --------------------------------------End----------------------------------------------

    That's All!

  • 相关阅读:
    React 之form表单、select、textarea、checkbox使用
    React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定
    React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值
    react综合案例-todolist、localstorage缓存数据
    【剑指offer15】二进制中1的个数(位运算),C++实现
    【剑指offer】10矩阵覆盖
    【剑指offer】09-3变态跳台阶
    【剑指offer】顺时针打印矩阵,C++实现
    【剑指offer】09-2跳台阶,C++实现
    leetcode1143
  • 原文地址:https://www.cnblogs.com/bq12345/p/3288762.html
Copyright © 2011-2022 走看看