1
3
你的问题中有太多问题,我不知道从哪里开始。可以肯定的是,你需要回到基础知识上来,花些时间来理解事情是如何工作的。 伺服装置 代码是否包装在 Web应用程序 它部署在 servlet容器 (服务器)。让我们看看您如何访问它们:
在哪里?
现在,让我们试着回答您的问题:
我猜这个旧的应用程序仍然部署在您在NetBeans下使用的服务器上(可能是NetBeans内置服务器)。因此,当您“启动”新的应用程序(实际上是服务器)时,旧的应用程序也可以访问。
正如我们所看到的,这没有意义,一个服务器正在监听一个端口,而不是一个servlet。
URL[A]指向paypal_应用程序的paypal_servlet。URL[b]指向映射到根上下文的Web应用程序的默认页。换句话说,两个URL都指向不同的应用程序。
很抱歉重复一遍,但这没有意义。您很可能会更改在NetBeans中启动的服务器使用的端口,但是,两个servlet都将由同一个服务器提供服务,在新端口上运行。
我不确定,但在部署应用程序的目录中做一些清理(使用Tomcat,检查
|
2
4
第一个:servlet!=Web服务器。servlet是Java应用程序编程接口,应该在Servlet容器中运行。Servelt容器通常是Java Web服务器的一部分,比如Apache Tomcat和GalasFISH。Web服务器通常在特定端口上侦听HTTP请求。servletcontainer在启动时创建并实例化servlets。其URL与
第二:网豆!=Web服务器。NetBeans是一个集成开发环境(IDE)。它只是一个带有许多向导的开发工具,应该可以简化开发。您可以使用cmd.exe和notepad.exe以及独立的服务器和IDE进行完美的开发。你只需要 知道 你在做什么。 至于您的实际问题:您可能以前在NetBeans中开发了“Web Academy”项目,并将其部署为有问题的Web服务器的“根”项目。GAE可能无法启动,因为该端口正由NetBeans管理的Web服务器使用(在GAE启动期间是否注意到任何错误消息?)。关闭netbeans(这有点剧烈,只关闭netbeans管理的webserver就足够了)将释放端口。 老实说,所有这些混乱似乎都归结为你从来没有单独学习过基本的Java/Servlet概念,并立即在深孔中用一个一个整体的IDE潜水,在那里你必须在一个地方完全学习1000个不同的东西,并假设它是“唯一的RILE”。去做这件事的地方。我强烈建议暂停一下,然后逐个重新开始学习基本概念。买几本好书,花点时间把它买好。分别学习JavaSE。单独学习servlet。单独学习网豆。单独学习Web服务器。等等。然后做数学。祝你好运。 |
3
1
servlet被映射到唯一的URL,其中包括端口,所以让几个servlet监听相同的端口号是完全可以的。当一个Web上下文中有多个servlet/jsp与一个URL相关联时,这种情况很常见。 上下文的URL通常如下所示:
在您的情况下,主机是本地主机,端口是8080。但是上下文名称是“paypal-app”,一个是“paypal-app”,另一个是“根”。我认为对于其他应用程序使用另一个上下文(如“demo”)而不是根上下文是明智的。你的应用不属于那里。 |
4
1
不能将端口分配给servlet。将端口分配给servlet容器(Tomcat、Jetty、Glassfish、JBoss等)。servlet只是
如果您希望在一个服务器中运行多个servlet,您可以创建一个servlet(我认为您需要扩展
|
5
1
我猜想,要么您有一个外部运行的servlet容器,只需配置NB来使用它,要么您已经导入了所有旧的NB项目,并且它们都以某种方式进行了部署。你看到注册应用的原因是你没有看到你的GAE日志文件,所以你没有注意到它在端口上听不到的时候就死了。您也没有为应用程序分配唯一的URL,所以发送到根目录的请求由注册应用程序处理。没有一个解释为什么你的Paypal请求被丢弃,我会启动窥探/ WiReSARK/什么,检查你的HTTP流量。我猜你的应用程序有缺陷。检查servlet容器日志文件可能会发现一些线索。要取消部署注册应用程序,请找出应用程序服务器存储Web应用程序的位置,然后删除war文件或保存注册应用程序文件的目录。 |