当前位置:  开发笔记 > 编程语言 > 正文

如何将欢迎页面设置为struts操作?

如何解决《如何将欢迎页面设置为struts操作?》经验,为你挑选了5个好方法。

我有一个基于struts的webapp,我希望默认的"欢迎"页面是一个动作.我发现的唯一解决方案似乎是使欢迎页面成为包含重定向到操作的JSP的变体.例如,在web.xml:


    index.jsp

并在index.jsp:

<% 
  response.sendRedirect("/myproject/MyAction.action");
%> 

当然有更好的方法!



1> Martin McNul..:

就个人而言,我会保持现在的相同设置,但更改前进的重定向.这样可以避免将标题发送回客户端并让他们发出另一个请求.

所以,特别是,我会替换

<% 
  response.sendRedirect("/myproject/MyAction.action");
%>

在index.jsp中


此更改的另一个影响是,用户将看不到地址栏中的URL从" http:// server/myproject "更改为" http://server/myproject/index.jsp ",因为转发正在发生在服务器上内部.


当sendRedirect工作时,forward对我不起作用.得到'404 Not'.

2> Srikanth..:

这是一个非常古老的主题,但我认为讨论的主题仍然具有相关性.我使用struts标签 - s:action来实现这一点.我创建了一个index.jsp,其中我写了这个...




3> Craig Wohlfe..:

从Servlet规范的2.4版本开始,您可以在欢迎文件列表中拥有一个servlet.请注意,这可能不是URL(例如/myproject/MyAction.action).它必须是命名的servlet,并且您不能将查询字符串传递给servlet.您的控制器servlet需要具有默认操作.


  MyController
  com.example.MyControllerServlet


  MyController
  *.action


  MyController



4> Damien B..:

"当然有更好的方法!"

没有.Servlet规范(例如Java Servlet规范2.4,"SRV.9.10欢迎文件")状态:

此机制的目的是允许部署者在请求与WAR中未映射到Web组件的WAR中的目录条目的URI时,为容器指定用于附加到URI的部分URI的有序列表. .

你不能在'/'上映射Struts,因为Struts需要使用文件扩展名.因此,您只能使用隐含映射的组件,例如JSP或静态文件.所有其他解决方案都只是黑客攻击.所以保持你的解决方案,它是完全可读和可维护的,不要再费心了.



5> Nischal..:

我所做的就是放置一个与struts动作同名的空文件,并欺骗容器来调用struts动作.

防爆.如果您的struts操作是welcome.do,请创建一个名为welcome.do的空文件.这应该欺骗容器调用Struts动作.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有