我想在我的金库视图中嵌入jsp页面。请告诉我要遵循的步骤。
我已经完成了以下步骤:
但是我不知道如何在web.xml中包含这个jsp的映射。
请解释一下我需要在哪里放置jsp文件,如何执行映射请求等步骤。
发布于 2016-10-14 03:15:32
首先,我想知道你是否正确地使用了Vaadin。Vaadin的目的是通过完全使用Java构建web应用程序的用户界面。因此,一般来说,您应该没有必要嵌入web视图或web内容。
BrowserFrame小部件
但有时,嵌入一些非Vaadin内容可能是有意义的。参见BrowserFrame小部件,如https://vaadin.com/docs/-/part/framework/components/components-embedded.html中所描述的。可在Vaadin7.0及更高版本中获得。
小港
如果您的Vaadin应用程序只是大得多的网站上下文中的一小部分,请注意,Vaadin也是作为一个Java Portlet构建的。
LifeRay是portlet环境,通常用于portlet驱动的应用程序的与Vaadin一起使用。
发布于 2017-01-12 17:13:33
如果您的JSP页面位于一个单独的servlet中,那么罗兹尔的回答可能是有效的,不管是在您自己的控制范围之外(比如一个公共网页)还是没有(您可以将它作为一个单独的servlet安装在您自己的服务器上)。在这两种情况下,如果是JSP页面、PHP或其他什么的话,就不会有什么区别了--在每一种常见的情况下,您所得到的都是简单的解释HTML。也就是说,BrowserFrame方法可能是正确的方法,因为它相当于"good ole“HTML。
如果您想嵌入一个页面或整个 JSP应用程序,可以通过玩Servlet映射和webapp文件夹来完成它。唯一的缺点是,您的Vaadin应用程序需要从新的“路径”访问,而不是从根路径访问--假设您是通过http://yourdomain.com/yourVaadinApp访问的--现在您需要定义一个/app -or类似的路径,这样您的应用程序就可以从http://yourdomain.com/yourVaadinApp/app访问。您必须在主UI应用程序类中的@WebServlet注释中定义它(也可以通过web.xml完成):
@WebServlet(value = {"/app/*", "/VAADIN/*"}, asyncSupported = true)接下来,您可以将JSP (或JSP文件的集合)放在yourAppProjectFolder/src/main/webapp文件夹中。这样,在部署应用程序时,您的JSP将可以从base path/yourFile.jsp访问(如果您的文件是服务器上的默认文档-depending或配置(类似于index.jsp-,即http://yourdomain.com/yourVaadinApp/),则只需使用基本路径)或您选择的文件夹。
不幸的是,到目前为止,我还不知道如何“排除”webapp文件夹内容,而不将Vaadin应用程序基本路径映射到“子路径”。
https://stackoverflow.com/questions/40034049
复制相似问题