我正在使用Struts2创建一个Web应用程序,并且与任何URL一起使用的映射操作都存在问题。
在我的struts.xml文件中,我配置了一个带有“ / registration”名称空间的软件包,其中包含一些动作,其中一个主要是“
register”。我的应用程序的上下文根是“ app / test”。
要访问注册表格,我可以转到“ localhost:8080 / app / test / registration /
register.action”,它可以加载我的表格并且效果很好。
但是,如果在名称空间之后将任何内容添加到URL,例如“ localhost:8080 / app / test / registration /
arbitrary / text / here / register.action”,则仍会加载表单。
我想防止这种情况的发生,因此您只能访问表单的正确URL。我在struts.xml和web.xml中尝试了许多不同的配置选项,但都无济于事,而且我无法在Web上轻松找到有关此问题的知识。
任何帮助将不胜感激,谢谢!
struts.xml
<struts>
<package name="myPackage" namespace="/registration" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<action name="register" class="edu.uconn.test.action.RegistrationAction" method="input">
<result name="input" type="tiles">/register.tiles</result>
</action>
</package>
</struts>
将struts.mapper.alwaysSelectFullNamespace
常量设置为true
:
<constant name="struts.mapper.alwaysSelectFullNamespace" value="true" />
当利用S2对URL中任意参数的支持(例如,通配符,正则表达式模式匹配)时,这可能会产生意想不到的后果。
主要内容:映射拦截动作,参考Struts 2的开发者用来声明行为属于一个包,扩展 “struts-default“, 其中包含默认设置的拦截。 拦截器的默认设置进行分组为“defaultStack”在struts-default.xml文件中,它位于 struts2-core.jar 文件,“defaultStack”提供所有的核心Struts2功能,这是最适合应用的需要。 试着学习struts-default.xml文件,
我想将我的应用程序迁移到Spring Boot Jar部署。它目前使用没有启动的Spring4。 我在上有一个REST-API侦听器,在上有一个JavaScript-fronten,可以在上访问。 现在我找不到在靴子里做同样的事情的方法。 通过更改属性,我设法在处获得了api监听,但是我没有在处注册第二个servlet来为我的js-frontend服务。我知道jar部署不支持,我还知道Spring
问题内容: 我有一个内容为web.xml的文件: 我尝试过要求 这两个请求都由Servlet2处理。为什么? 更新 谢谢你们的帮助。我意识到行为取决于servlet映射声明的顺序。我尝试了这个web.xml 结果: 问题答案: 从Servlet 3.0 规范开始,这是Web容器在收到请求后必须定位servlet的方式(重点是我的): 用于映射到servlet的路径是来自请求对象的请求URL减去上下
我试过请求 这两个请求都由Servlet2处理。为什么? 更新 结果:
Nutz.Mvc 的核心任务就是将 HTTP 请求的 URL 映射到某一个入口函数,如果你看完了 Nutz.Mvc 概述 你大概应该知道,映射的配置信息是通过注解 @At 来设置的,@At 注解也非常简单,配置起来应该没有什么障碍。 但是,依然在某些时候,你会在你的应用出现 404 错误,为了能让你在编写项目是,心里非常有底,这里将详细的解释一下 JSP/Servlet 以及 Nutz.Mvc 映
现在我们已经有了前面章节中解释的工作视图。 我们想通过URL访问该视图。 Django有自己的URL映射方式,它是通过编辑项目url.py文件(myproject/url.py) 。 url.py文件看起来像 - from django.conf.urls import patterns, include, url from django.contrib import admin admin.au