Strus2----Acition 的命名问题

yibo2010 2014-01-06 03:33:59
请问如何解决下面的问题:
正常情况下的访问地址应该为:http://localhost:8080/test/goUserManagementQuery.action

但是输入如下的地址和上面的效果一样:
http://localhost:8080/test/~goUserManagementQuery.action

如何解决在访问的Action里面加入如"~"符号问题.

想得到的结果是只有输入http://localhost:8080/test/goUserManagementQuery.action才能访问,如果action里面加有"~"就不能访问.
...全文
143 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenzhenNBA 2014-01-07
  • 打赏
  • 举报
回复
引用 3 楼 yibo2010 的回复:
不加拦截器就不能解决吗 ? 不知道你们的项目里面是否存在相同的问题.
到目前情况为止,(大多数是)不可以, 原因:很多中间件产品都对 ~ 字符进行了处理,多数情况,该 ~ 字符被定义为表示应用程序的根目录或者结合文件夹一起表示当前相对路径,所以 http://localhost:8080/test/goUserManagementQuery.action 和 http://localhost:8080/test/~goUserManagementQuery.action 实际访问的都是应用程序根目录下goUserManagementQuery.action资源,所有结果当然相同, 当然,哪天你变大牛了,你也可以重新定义中间件中的 ~ 字符所表示的意义为你需要的,并呼吁行业里的中间件厂商这样做,
yibo2010 2014-01-07
  • 打赏
  • 举报
回复
不加拦截器就不能解决吗 ? 不知道你们的项目里面是否存在相同的问题.
shenzhenNBA 2014-01-07
  • 打赏
  • 举报
回复
...在拦截器里面一些逻辑判断...
shenzhenNBA 2014-01-06
  • 打赏
  • 举报
回复
引用 楼主 yibo2010 的回复:
请问如何解决下面的问题: 正常情况下的访问地址应该为:http://localhost:8080/test/goUserManagementQuery.action 但是输入如下的地址和上面的效果一样: http://localhost:8080/test/~goUserManagementQuery.action 如何解决在访问的Action里面加入如"~"符号问题. 想得到的结果是只有输入http://localhost:8080/test/goUserManagementQuery.action才能访问,如果action里面加有"~"就不能访问.
那增加一个过滤器,或则拦截器(写法网上搜索),在拦截器里面一些罗杰判断,如果URL里面是否含有 ~ ,有则进行转向某个提示页面去,没有则访问资源

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧