我正在构建一个 Angular 2 应用程序,它必须在后端使用基于 spring mvc 的 rest api。我使用的是 maven,不是使用 spring-boot,想将 angular2 的 index.html 映射到部署的 WAR 文件的基本 URL。我看到 index.html 出现在 tomcat 的 webapps 文件夹中的 MyApplication 命名文件夹中,但是以某种方式尝试通过基本 URL 访问该站点时没有可用资源。有人可以帮帮我吗。这是我的布局。
网络.xml
<display-name>MyApplication</display-name>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
mvc-dispatcher-servlet.xml
<context:annotation-config/>
<context:component-scan base-package="com.rochak.*" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/angular/</value>
</property>
<property name="suffix">
<value>.html</value>
</property>
</bean>
com/rochak/controller 中的 MyController.java
@Controller
public class MyController {
@RequestMapping(value="*")
public String getIndex(ModelMap model){
return "index";
}
}
angular 文件夹位于 WEB-INF 文件夹及其 index.html
为什么 spring mvc 找不到 index.html?
最佳答案
将您的“url-pattern”更改为“/server/”之类的内容。它会起作用。
关于java - 如何在同一个 tomcat 服务器上运行基于 angular2 和 spring mvc 的 rest api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38068049/