gpt4 book ai didi

java - 在独立的 Tomcat 服务器上部署 Java Spring、REST 和 Angular JS 应用程序

转载 作者:行者123 更新时间:2023-11-28 22:25:46 25 4
gpt4 key购买 nike

我使用 Intellij IDE 创建了一个 Java Spring 和 AngularJS 应用程序。我在 intellij 中创建了一个 war (Web Application:Exploded) 文件。我将这个 war 文件放在 Tomcat webapps 目录中,AngularJS 代码部署得很好,我可以在浏览器中打开它。当我尝试使用 REST 调用调入我的服务器代码时,出现 404 not found 错误,并且我可以看到 tomcat 目录中没有 java 文件。我复制了 java 文件,但仍然没有任何乐趣。我是部署 Web 应用程序的新手。

如果有人可以帮助我如何让 angularJS 文件正确调用我的 java,我们将不胜感激。

谢谢。

Spring-Module.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="com.services.impl"/>

<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- Creating TransactionManager Bean, since JDBC we are creating of type
DataSourceTransactionManager -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

<bean id="getUserRepo" class="com.Repo.impl.UserRepoImpl">
<property name="dataSource" ref="dataSource" />
</bean>

<bean id="dataManipulationRepo" class="com.Repo.impl.DataManipulationRepoImpl">
<property name="dataSource" ref="dataSource" />
</bean>


<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1/xx"/>
<property name="username" value="root"/>
<property name="password" value="xx"/>
</bean>
</beans>

mvc-dispatcher-servlet:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.controller"/>

<mvc:resources mapping="/app/**" location="/app/build/"/>

<mvc:annotation-driven/>

<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>

项目结构

WEB-INF
|_ jsp folder
|_ lib folder
|_ web.xml
|_ mvc-dispatcher-servlet.xml
|_ classes folder
|_ com folder (controller, model, services, resources, Repo folders with .class files within each)
|_ Spring-Module.xml
app
|_ html files

解决方案

我成功了!!我的 REST 调用被缩减为大写字母。我在调用中使用大写字母作为项目名称,然后在导致问题的浏览器 URL 中使用小写字母。使用 chrome Postman 应用程序也非常有帮助。

最佳答案

根据您的回答,您已经使用 IntelliJ 创建了项目的 .war 文件。基于此,请按照以下步骤在 tomcat 中正确部署您的应用程序。以下说明均基于linux或mac系统。

  1. 转到您的 apache tomcat 主目录,我们将此目录称为 <tomcat-home> .例如/var/local/apache-tomcat-8/
  2. 内部<tomcat-home>你会发现一些像webapps这样的文件夹, log , bin .
  3. 转到 webapps文件夹并将 .war 文件放在上面。默认情况下,只有当 .war 文件正在运行时,tomcat 才会尝试部署它。如果 tomcat 没有运行,则转至 bin文件夹并找到一些名为 startup.sh 的文件并像这样执行它(仅适用于 linux 系统)<tomcat-home>/bin/startup.sh .执行 startup.sh 时,您会看到为 tomcat 设置的环境变量,如 CATALINA_HOME、JRE_HOME 等,如果 tomcat 无法启动,则会显示错误消息。
  4. 要做的第一个评估是查看 webapp文件夹,看看上面有没有新文件夹,比如我有myapp.war然后 tomcat 应该创建一个名为 myapp 的文件夹在该文件夹中应该存在一个 WEB-INFMETA-INF文件夹,这是 Java Web 应用程序的标准。
  5. 查看 WEB-INF文件夹,因为里面应该是 classeslib文件夹,在 classes文件夹仅存在根据包组织组织在文件夹中的 .class 文件。在lib文件夹应该包含与您的项目相关的所有 .jar 文件夹,例如 spring、hibernate 和许多其他文件夹。
  6. 最后看看 log文件夹,里面有一个 catalina.out文件并阅读它以查看任何错误消息。
  7. 在 linux 中查看 tomcat 是否正在运行,你可以通过这个突击队检查 ps -ef | grep java
  8. 为了stop tomcat 转到 bin文件夹并执行 shutdown.sh.

要了解如何正确生成 .war 文件,您可以转到此帖子 IntelliJ community can't find Web Application Artifact to generate WAR

关于java - 在独立的 Tomcat 服务器上部署 Java Spring、REST 和 Angular JS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45773312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com