开发者社区 问答 正文

WordPress不接受web.xml映射吗?还是Java构建类?

我是出于个人兴趣的初学者和自学式Web开发人员,我有一个普遍性的问题。

我在eclipse中开发了一个动态Web应用程序,该应用程序使用index.php(或.html;我可以选择)来调用javascript文件,该JS文件通过AJAX调用来调用Java servlet进行一些优化和内部计算,然后返回数据发送到JS,然后再发送到index.php上的HTML表单。所有路径和映射都在web.xml文件上完成,并且一切正常!该项目还涉及一些外部google库,我通过Build Path将它们包含在eclipse中。

然后,我通过Xampp在本地安装了Wordpress,并复制了所有这些文件(包括所有Java类和外部JAR),并保持文件夹结构相同。在这里,index.php确实调用了javascript文件,但是对于Java的AJAX调用却向我显示了网络错误404。所以我有2个问题:

WordPress是否不接受通过web.xml进行映射?我应该只使用绝对路径吗?我要避免使用绝对路径,因为我想灵活地移动文件,而且我不知道将项目上传到某个地方时它如何在线工作。

还是Wordpress / Xampp不能像在Eclipse中那样构建/编译Java类和外部JAR?我不知道这是如何工作的!我确实将所有更新的类文件和内容复制到了wordpress文件夹中。

请让我知道如何从这里开始,或者我需要学习的任何建议!我热衷于使用Wordpress,因为它可以节省我为我的网站编写所有页面代码的大量时间,但是java文件也是它不可或缺的,因为它可以完成很多后端工作。我在网上看到很多评论说wordpress和java不能一起使用,因为它们是基于PHP的(我因此而实际上学到了PHP),但是它在使用这两种语言的eclipse中有效,所以我很希望!因此,任何指导将不胜感激!

谢谢!

展开
收起
几许相思几点泪 2019-12-10 19:53:12 824 分享 版权
阿里云 AI 助理回答

在你的场景中,你遇到了将Java后端与WordPress前端集成的问题。这里有几个关键点需要澄清和解决:

  1. Web.xml映射问题

    • WordPress是基于PHP的CMS(内容管理系统),它不使用Java Servlet容器(如Tomcat)来运行,因此web.xml文件在这里不起作用。web.xml是Java Web应用的一部分,用于Servlet容器配置,而XAMPP主要提供Apache HTTP服务器、MySQL、PHP等服务,并不直接支持Java Servlets。
  2. AJAX调用404错误

    • 由于上述原因,当你尝试通过AJAX从JavaScript调用Java Servlet时,实际上是在向一个PHP环境请求Java Servlet,这自然会导致404错误,因为PHP服务器不知道如何处理Java Servlet请求。
  3. Java类和JAR包编译与运行

    • XAMPP或WordPress本身并不负责编译Java代码或管理Java依赖(JAR包)。你需要一个Java应用服务器(如Tomcat, Jetty等)来部署和运行你的Java Servlets和应用程序。Eclipse中的Java项目通常会构建为WAR(Web Archive)文件,然后部署到Servlet容器中。

解决方案建议:

  • 分离前后端:最直接的方法是保持你的Java后端和WordPress前端独立运行。你可以继续在Eclipse中开发并测试你的Java应用,确保它作为一个独立的Web服务运行在Tomcat或其他Servlet容器上。同时,WordPress安装在XAMPP的Apache服务器上。

  • API接口:让Java应用提供RESTful API接口,这样WordPress可以通过AJAX调用这些API来获取数据或执行计算任务。这意味着你需要在Java应用中实现相应的Controller来处理HTTP请求,并返回JSON格式的数据给前端。

  • 跨域问题:由于你的前端(WordPress)和后端(Java应用)可能运行在不同的域名或端口上,你还需要处理CORS(跨源资源共享)问题,确保浏览器允许这样的AJAX调用。

  • 部署考虑:当准备在线部署时,你可能需要两个单独的服务器/容器,一个运行WordPress,另一个运行Java应用。或者,如果选择云服务,可以利用阿里云的ECS(Elastic Compute Service)实例分别部署这两个部分,并且可以考虑使用API网关来管理和保护你的API接口。

综上所述,虽然直接在WordPress环境中整合Java Servlet不太现实,但通过建立前后端分离的架构,利用API进行通信,完全可以实现两者的协同工作。希望这些建议能帮助你前进!

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答