如何解决Wicket调用Servlet
我是wicket框架的新手。 我想从WebApplication内的网页调用servlet。
对servlet响应做一些事情。
两者都在同一个容器Tomcat中。
我知道(HttpServletRequest)RequestCycle有一个链接。 但是我何时何地指定要调用哪个servlet(它的名称)(因为有很多servlet)?
非常感谢您的帮助。
解决方法
Servlet API提供
getServletConfig().getServletContext().getServlet(String);
但是自该规范的2.1版开始,不赞成使用此方法,并且实现返回null
。
您有两个选择:
-
对另一个Servlet进行适当的HTTP调用,例如借助HttpUrlConnection(Java 11之前的版本),HttpClient(Java 11+)或任何第三方库(如Apache HttpComponents / OkHttp /...)
-
构造虚拟HttpServletRequest和HttpServletResponse并将它们传递给RequestDispatcher#include():
ServletContext servletContext = WebApplication.get().getServletContext(); RequestDispatcher dispatcher = servletContext.getRequestDispatcher("/another/servlet"); dispatcher.include(dummyRequest,dummyResponse);
使用虚拟的不污染原始地址(当前http请求的地址)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。