学习
实践
活动
工具
TVP
写文章

Struts2中action的方法被执行两次

最近在用struts2遇到一个怪问题,struts2的默认方法老是执行两次,搞了大半天都没有找到,在最后即将放弃时终于找打了,原来是响应的页面有 一个图片标签,而图片标签请求的地址不存在,它就默认再次请求了当前请求的 url,造成了两次执行struts2的方法。 1,被响应的图片URL不存在,导致请求原谅url而执行两次; 2,ajax模式下,调用的action方法不能为get*方式命名,内中机理未知; 结论:action中方法最好不要以 3,提交标签中用到JS脚本去执行的话,如写成<input type="submit" ... οnclick="save()>的话,submit要<em>执行</em>一次,οnclick="save()也要执行一次,去掉其中一个即可 /s:form> 解决办法: <s:form action="" οnsubmit="return false;"> 原因是,form表单提交会被struts2当作action执行.

33920

Spring Cloud 项目 SpringApplication Run 执行两次解密

ResourcePropertySource(new ClassPathResource("window.properties"))); } } } 问题: initialize 执行两次 相关功能抽取成starter,运行在单体的 Spring Boot 项目,若加入 Spring Cloud Context 则会执行两次 上文代码 ? context.setId("bootstrap"); 真相预警 BootstrapApplicationListener 里,利用 SpringApplicationBuilder 进行了一次重启, 虽然是Run 两次但是第一次 并未到 启动容器等,所以出现 Bean 加载两次,或者 运行容器 Tomcat 等端口冲突。

1.2K30
  • 广告
    关闭

    年末·限时回馈

    热卖云产品年终特惠,2核2G轻量应用服务器6.58元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React18的useEffect会执行两次

    一、执行两次的useEffect。 前段时间在本地启了一个 React Demo 项目,在编码的过程中遇到一个很奇怪的“Bug”。 其中简化版的代码如下所示。 被打印了 “两次”。 刷新之后依然如此,当时就给我整懵了,第一感觉就是,这怎么可能? 很是纠结一番之后依然没想明白,于是试着去网上搜了一下,发现竟然有人同样遇到过这个问题。 生产环境("production")模式下和原来一样,仅执行一次。 3.之所以执行两次,是为了模拟立即卸载组件和重新挂载组件。 为了帮助开发者提前发现重复挂载造成的 Bug 的代码。 知道了 useEffect 的执行时机,也就能明白为什么 React18 中 useEffect 会执行两次了。 因此,深入了解一下 useEffect 执行机制以及解决其副作用的方式还是有必要的。 相关链接 useEffect 执行两次官方英文文档

    1.2K40

    踩坑-Tomcat(servlet)在启动(加载)是执行两次

    不知道大家在使用Tomcat时,有没有遇到过运行或者启动项目时,页面被执行两次的问题。 可能发生过,但是你没有发现。 首先看一下问题是怎么样的。 我发现,这不是之间将i变成了2,而是add()方法被调用了两次! 可是代码里面明明只调用一次啊? 我去浏览器搜索相关案例,发现还真有几例,哈哈哈,浏览器万能。 经过一系列排查,发现是Tomcat针对你的项目运行了两次。 原因 为什么会运行两次呢? Tomcat的默认webapp目录下(tomcat在启动时肯定会加载1次),然后又在server.xml中做了配置,为了达到访问根就可以访问你的项目(这样Tomcat就又加载1次),结果,Tomcat就会加载两次 总的来说,就是Tomcat的sever.xml的配置做了一次无用功,导致运行了两次。 如何解决? 首先,我们有三种方法,我们一个个说。

    5910

    action执行完后页面乱码-PrintWriter若得祸

    21810

    SAP Spartacus Set Active BaseSite action执行的时间点

    dispatch action: ? 谁来接这个action的盘? [Site-context] Set Active BaseSite ?

    14720

    sql oracle 注释导致最后一行被执行两次

    ---- 问题表象 命令行调用执行 1.sql /*修改内容:*** * 创建人:*** * 创建时间:* */ INSERT INTO "test"(test1,test2,test3,test4) 一行insert语句被执行两次 问题原因 sqlplus命令行中 /* 会被解释为 / / 是执行缓冲区中的命令,即执行上一行命令,所以会被执行两次

    22810

    GitHub 的 Action 判断仅在主仓库才执行脚本

    我有一个 GitHub 项目,这个项目配置了仅需要在源仓库才能执行Action 如推送 NuGet 等发布动作。 如何在 Action 里面设置让 Fork 的仓库不执行 Action 的步骤 想要设置 Action 不在 Fork 的仓库执行,只需要添加 if 判断,判断当前执行的仓库和设置的相同,即可执行,否则不执行 在 GitHub 的 Action 的判断使用 if 方法,条件可以是判断 repository 或 repository_owner 的内容 如使用下面代码判断,让构建步骤仅在 lindexi/doubi 也就是小伙伴 frendguo 他 fork 了我的仓库,那么在他仓库里面执行action 拿到的 github.repository 的值是 frendguo/doubi 也就是判断逻辑不通过 判断不仅可以放在步骤里面 这里的 repository_owner 的值可以是用户也可以是组织,具体和仓库所在的拥有者相关 如果自己只是 fork 对方的仓库,改不动对方的代码,可以自己禁用 Action 请看 GitHub 的

    11410

    Action

    Action动态方法的调用》》   在实际的项目中,一个action类的中,可能存在多个方法,而不同的方法执行的效果是不一样的,如果按照了一般性的配置,将无形的增加了程序员的负担 第一种方法:   在struts.xml 中的action属性标签中用method属性指定方法名(不怎么推荐使用) 第二种方法: jsp页面中指定你要调用的那个方法 表格                       <form action=” 方法名.action 这样可以动态的调用action中的myfun方法,就不要在action标签中进行method的配置 第三种方法:使用通配符进行配置(推荐使用:适用情况当一个类中存在较多的响应方法) <action name="*user" class="com.zzjmay.action.UserAction" method="{1}"> //这种通配是针对的是同一个action中,响应不同的方法 在jsp页面中调用的时候 <form action="loginuser.action" method="post"> <!

    7510

    mui.openWindow+自定义事件监听操作让alert()执行两次

    仔细看,Alert函数执行两次 共两个页面:index.html和detail.html, detail.html为按钮设置了自定义事件监听(newsId),触发alert. 就是上面提到的alert执行两次? 2. 就是有时候点击按钮并不会有任何操作,是文档没有加载完毕可能,有什么解决方法吗? detail.html' }] }); mui.plusReady(function () { alert('plusReady()执行成功 body> //---detail.html <body>

    <a class="mui-<em>action</em>-back var id = event.detail.id; //将id显示在详情页上 alert(id); // 会出现<em>两次</em>是为什么

    64900

    ASP.NET MVC是如何运行的(4): Action执行

    作为Controller基类ControllerBase的Execute方法的核心在于对Action方法的执行和作为方法返回的ActionResult的执行,两者的执行是通过一个叫做ActionInvoker 如下面的代码片断所示,该接口定义了一个唯一的方法InvokeAction用于执行指定名称的Action方法,该方法的第一个参数是一个表示基于当前Controller上下文的ControllerContext 如下所示的代码片断反映了整个ControllerActionInvoker的定义,而InvokeAction方法的目的在于实现针对Action方法的执行。 由于Action方法具有相应的参数,在执行Action方法之前必须进行参数的绑定。ASP.NET MVC将这个机制成为Model的绑定,而这又涉及到另一个重要的组件ModelBinder。 的执行

    31890

    ASP.NET MVC下的异步Action的定义和执行原理

    如果我们需要定义异步Action方法,必须继承抽象类AsyncController。这篇问你讲述两种不同的异步Action的定义方法和底层执行原理。 该同步上下文用于Sync方法的执行,也就是说在该方法指定的Action委托将会在该同步上下文中以同步的方式执行。 异步Action执行最终是通过描述该Action的AsyncActionDescriptor对象的BeginExecute/EndExecute方法来完成的。 对于以XxxAsync/XxxCompleted形式定义的异步Action来说,如果XxxAsync执行之后,在规定的超时时限中XxxCompleted没有得到执行,一个TimeoutException 如果我们以返回类型为Task的形式定义异步Action,通过Task体现的异步操作的执行时间不受AsyncManager的Timeout属性的限制。

    72260

    PgBouncer in action

    原本我是 MySQL 的忠实粉丝,后来命运使然,接手了一个 PostgreSQL 项目,一边用一边学,遇到了不少问题,本文说说其中的连接池问题。

    16060

    Action访问

    ActionAction类的写法 简单类 实现Action接口 继承ActionSupport Action方法访问 直接设置method 通过通配符 动态方法访问 1 Action类的写法 编写Action类有三种方法 第一种直接写个pojo类,手动去实现execute方法 ? 2 Action方法 ? Action方法的访问 发送请求后就会找到相应的Action类,访问执行execute方法(默认),通过method属性可配置访问的方法 ? method 比如点击不同的链接或者按钮就访问一个Action类的不同方法,则需要写多个Action标签 ? ? ? ? 它不需要通过method的设置,访问url要求Action名+!+方法(+.后缀) 相当于在访问请求中标注了method,method自动给你设置感叹号后的名字 ? ?

    25930

    DSL In Action

    关于 Anko-Layouts框架的好处和局限性,网上已经有大部分文章在讲,它好在用DSL的方式来描述View,而缺点在于无法即时预览,在这方面导致Anko D...

    38620

    OVS中Action源码分析&自定义Action

    但是action执行和打印查看需要在完成后面工作。 三 action执行 当数据包匹配到这条流表项,如何让action正确执行呢? 这里action执行分两种情况,一种是内核层action执行和用户层action执行。 但不是所有action会最终下放到内核层执行,只有像output等几个少数的action可以走快速通道直接处理数据包,其他action执行则要上交用户层来执行。 对于可以在内核层执行action,需要netlink通道action数据传输,并在内核层添加相应action执行函数。这里只简单说明如何在用户层执行新添加的actionaction执行只需要在这里添加代码,当数据包在用户层匹配到后会正确执行,并向内核层添加流表项,对于以上新的数据包匹配到这个action仍然会上交用户层处理。

    1.2K91

    WPF TreeView 选择事件执行两次,获取TreeView的父节点的解决方法

    1.TreeView选择事件执行两次 Very often, we need to execute some code in SelectedItemChanged depending on the selected

    1.1K50

    ASP.NET Core 2.2 : 十七.Action执行(Endpoint.RequestDelegate后面的故事)

    在此就避免不了的聊到各种Filter,它方便我们在action执行的前后做一些 “小动作”。 (如图二)中找出一个当前action对应的执行者出来。 也就是说当前action对应的多种类型的Filter会按照这样的顺序被执行,如下图 ?             图四 可以看出,在上面几个Filter执行之后,ActionFilter的执行比较特殊,它将Action执行包在了中间,这段逻辑写在了ControllerActionInvoker自己的类中,同样是一个 然后的顺序是   ActionFilter的OnActionExecuting方法 ->action执行->ActionFilter的OnActionExecuted方法, action执行如下:

    43530

    尝鲜Github Action

    我实际测试了多个yml配置相同的name,在实际执行中都是会执行的,不过到 Actions 页面看的时候就会多个一样的名字。 执行环境 看到文档里说 Github Action 里有 ubuntu 、 macOS 和 Windows,里面自带的工具也是蛮齐全了。但是还是避免不了需要安装其他工具的。 Action Action 的使用 Github Action 的实际执行单元是里面的一个个的 action ,如果不use其他的action的话,就是普通的跑个脚本,像这样: name: "find Action 开发 当 商店里已有的Action 满足不了需求的时候,还可以自己开发action用。 # (可选)如果需要创建新Release,是否是Prerelease branches: "" # (可选)是否只处理执行分支的事件

    60520

    Custom Lint in Action

    lint-api创建自己的lint规则,然后将自定义的lint规则打包成jar(保存在build/libs中),将jar包复制到~/.android/lint目录下,最后在Android工程源码目录下执行 export ANDROID_LINT_JARS=~/.android/lint_bak/android-custom-lint-rules.jar lint --list 此外,除了执行. /gradlew lint命令之外,我们还可以使用AS自带的一个更好的代码检查功能,选择Analyze菜单下面的Inspect Code...选项,然后选择某个目录执行lint检查。 ? 待执行完成之后可以在AS中看到下面的结果,其中我们自定义的lint规则的结果显示在Android Lint这个Category下面 ? compileLintTask.dependsOn(copyLintJar) } (2)LintDemoApp项目 该项目是一个示例,利用上面得到的aar封装成一个Android Library项目,然后核心模块app依赖它,这样当执行

    49010

    扫码关注腾讯云开发者

    领取腾讯云代金券