当前位置: 首页 > 知识库问答 >
问题:

Vaadin 7.4,Spring,Tomcat 7,使用@WebServlet更改上下文根

阳宾实
2023-03-14

我使用的是Vaadin 7.4,Spring使用的是“spring4vaadin”-项目。我正在使用Servlet API 3.0在Tomcat 7.0.29上部署应用程序。

我将应用程序部署在Tomcat(“/”)的根上下文下,并使用@WebServlet注释将应用程序的实际上下文设置为“/esb/*”:

@WebServlet( value = "/esb/*"  , asyncSupported = true )
public static class Servlet extends SpringVaadinServlet {

}

但是每次当我导航到应用程序URL“http://localhost:8080/esb/”时,我都会在瓦丁的浏览器弹出窗口中收到错误消息:“未能加载引导javascript。/... /VAADIN/vaadinBootstrap.js?v=7.4.0”。

web.xml看起来像这样:

<web-app id="ESAB_Cutting_Prototyping" version="3.0"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd"
     metadata-complete="false">
</web-app>

如果我在Intellij IDE的Tomcat部署配置中设置上下文,它就可以正常工作。

我不知道该怎么办-非常感谢您的帮助。

共有1个答案

慕阳平
2023-03-14

好的,我解决了。

我的问题是,我只是这样做:

@WebServlet( value = "/esb/*"  , asyncSupported = true )

但为了让它发挥作用,我必须这样做:

@WebServlet( urlPatterns = { "/esb/*" , "/VAADIN/*" }  , asyncSupported = true )

所以servlet会监听:

 http://localhost:8080/esb/

以及Vaadin-Framework的后续请求:

 http://localhost:8080/VAADIN/...

其中包括引导代码和小部件本身。

 类似资料:
  • 我想更改spring Boot2的上下文路径,例如,我想在http://localhost:8080/test/上服务 我的意思是,spring-boot-starter-webflux:2.0.0对我来说不起作用

  • 我一直在使用<code>mvn tomcat7 maven-plugin:run-am-pl:foo</code>成功地在Tomcat中一次只运行一个项目,如下图所示。现在我想让多个模块在同一端口但不同的上下文下运行。例如,我希望: 这是我一直在使用的pom.xml片段的一个例子: 使用插件是否可以做到这一点?我正在努力寻找正确的语法来让它发挥良好的作用。当我运行命令来运行它时,它只运行它在项目层

  • 问题内容: 我想将上下文根从“ / war_name”(默认)更改为“ /”。 因此,我创建了一个jboss-web.xml文件,并将其推送到WEB-INF目录中。 该文件的内容是: 不幸的是,这在战争部署期间导致以下错误: 但是,当我输入诸如/ RoomManagement之类的目录名称时,没有此问题。但是,如果我使用这个,我将无法访问/ RoomManagement中没有的JSP。 您是否有一

  • 如何更改spring数据r2dbc存储库的目标datatabase(也许我说的是“上下文”)? 让我更好地解释一下。 我正在管理(ConnectionFactory属性)“connection factory”,以便在我想要的任何数据库中执行SQL-DDL脚本-OK;但是,R2dbcRepositories(REactiveCruRepository)方法不遵循此数据库,我已配置Connectio

  • 我在Netbean中创建了名为TestA的新war应用程序。然后,我创建了新的Glassfish部署描述符glassfish-web.xml,内容如下: 然后我将我的应用程序部署到GF。上下文根仍然 /TestA,而不是 /new_context_root.为什么? Glassfish版本为3.1.2.2 断续器 如果我通过自动部署文件夹进行部署,则上下文根会正常更改,但不会从web-admin更