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

Angular 4和Java后端项目在一场战争中

余天宇
2023-03-14

我创建了一个angular 4项目,并使用JAVA REST API项目作为后端。我需要我可以将angular 4项目作为staic内容移动到JAVA war文件中。

我为angular项目创建了产品构建,从dist文件夹复制文件,并将其粘贴到java项目的webcontent中。我能读angular project的索引文件,但其他文件给出了404。

请帮助我如何将angular项目移动到java项目中,以获得用于生产的单个war文件。

XML:-

    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>userInformation</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Jersey RESTful Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>com.newgen.ap2</param-value>
    </init-param>
    <init-param>
    <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
    <param-value>com.newgen.ap2.CrossOrigin</param-value>
 </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey RESTful Application</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping> 
</web-app>

共有1个答案

柳坚白
2023-03-14

改变你的网站。将xml转换为以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>userInformation</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Jersey RESTful Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>com.newgen.ap2</param-value>
    </init-param>
    <init-param>
    <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
    <param-value>com.newgen.ap2.CrossOrigin</param-value>
 </init-param>
  </servlet>
  <servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>
  <servlet-mapping>
    <servlet-name>Jersey RESTful Application</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping> 

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

我们的想法是使用不同的Servlet来为静态资源提供服务。

以下是一些可能有用的SO帖子:

Servlet过滤器的执行顺序

如何在web中实现Servlet url映射。使用xml?

如果我在web中有两个servlet映射,会发生什么。与请求匹配的xml?

 类似资料:
  • 我使用的是Eclipse BuildshipV2.1.2用于Gradle。我有两个独立的web项目,P1和P2,还有一个项目,P3,它作为所有其他项目的依赖项。我的任务是创建一个主构建,用它可以从P1和P2构建和生成WAR文件,并从P3生成JAR文件。我应该包含这个P3 jar文件作为P1和P2的依赖项。我创建了一个, null P2 Build.Gradle settings.gradle Bu

  • 我在GGTS上有我的Grails项目。 我怎样才能最好地在周期性的基础上包括战争的自动(比如每周构建)构建。有插件吗?

  • 我想使用ProGuard(项目a)混淆项目(jar)。然而,这个项目依赖于另一个war(项目B),并且使用了我在B中开发的一些类。我使用了这个问题的解决方案:从依赖于其他项目的maven项目构建一个jar,但它不起作用,当我在项目a上使用命令时,我得到了错误: 或 我怎样才能把这个罐子弄糊涂? 编辑1 在项目A的POM中,我有: > 内置部分: 在项目B中,我有:

  • 1984年1月,Richard Stallman 辞去了 MIT 的工作,他担心 MIT 会要求产品的所有权,会给产品强加入自己的销售条件,最终又会成为专有软件。一开始, GNU 计划只有他一个人。他发现自己原来在人工智能实验室的办公室,还没有分给其他人用时,他就每天晚上溜进去工作。久而久之,白天他也跑去用实验室里的电脑。 当时人工智能实验室主任 PatrickH. Winston 并不干涉。因为

  • 我尝试使用Spring Boot 2.0.2从战争转移到罐子,并且在使用故障安全进行maven测试时遇到了问题。 我看到两种错误: > < li> < code > Java . lang . noclassdeffounderror ,其中列出了我的一个bean类 当我在 IntelliJ 中运行这些测试时,一切正常,但它们在 maven 中失败。与此同时,当我回到建立战争而不是罐子时,一切都有

  • 我有一个由gradle建造的战争项目。我有一个字符串gradle.build文件:编译'log4j: log4j: 1.2.17'但没有任何log4j.jar结果WEB-INF/lib目录在myproject.war文件。 但“compile”配置中定义的所有其他lib都存在。为什么会有如此奇怪的行为,它是一个bug还是某种功能?如何将其包含在我的网络档案中? Eclipse在项目的“网络应用程序