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

如何使用Java[关闭]在我的网络(localhost)中托管网站

子车劲
2023-03-14

因此,我正在开发一个程序,在用户的专用网络(即本地主机)中托管HTML文件,但我不知道如何在Java中实现这一点。我对JavaEE知之甚少。如果这在另一种编程语言(最好是C或Python)中更容易实现,请强调一下。

我试着看了之前的文章,但它们使用Java套接字,这里有一个方便的教程:https://docs.oracle.com/javase/tutorial/networking/sockets/

但我觉得使用Tomcat和Glassfish这样的服务器可以更轻松地实现这一点(请详细说明)。

共有2个答案

贺雅健
2023-03-14

如果您想使用Java交付静态内容、预先编写的HTML文件,可以使用任何web容器。ApacheTomcat和Eclipse Jetty是最简单的两种。

如果您想使用Java动态创建内容,请从学习Jakarta Servlet(以前的Java Servlet)技术开始。

许多Web容器产品支持Servlet,包括Tomcat、Jetty、Glassfish、Payara、WildFly、JBoss、OpenLiberty等。

从那里,您可能想要利用额外的库和框架。这种库和框架最受欢迎的两个集合是雅加达EE和Spring。

您不需要实现套接字。网络浏览器和网络服务器自动处理所有网络。

WebSockets是另一回事。如果真的对此感兴趣,请参阅大气框架

裴俊豪
2023-03-14

要在网络上托管网站,必须使用套接字。这样地:

  1. 在端口8080上打开一个套接字(当您不是root时,默认的超文本传输协议)
  2. 创建一个函数,它可以读取html文件并返回文件中包含的字符串(例如index.html)
  3. 使一个函数发送一个带有html内容的HTTP请求,不要忘记内容长度
  4. 在你的主系统中,做一个循环,迭代新客户端,并给他发送html

Java或C中的方法都是一样的,我请大家看看本教程,用C来实现:https://www.binarytides.com/server-client-example-c-sockets-linux/

您还可以阅读以下内容:https://docs.oracle.com/cd/E21764_01/core.1111/e10103/intro.htm#ASCON112

如果你能完成所有的4个步骤,那么你就会理解中间件是如何工作的,然后你就可以使用TomCat等...总是从基础开始。

 类似资料:
  • 想改进这个问题吗 通过编辑这篇文章,更新问题,以便用事实和引文来回答。 我计划在AWS上托管一个静态网站(超文本标记语言,css),包括S3、Route 53和CloudFront。我想知道缩放问题是否有任何潜力,例如,如果有100k并发请求出现在网站上。在此基础上,您有什么建议吗? 谢谢你的建议!!

  • 我租了一台Windows Server 2016的vServer,拥有自己的IP地址。所以不是一个普通的网络主机包,但我可以通过远程控制登录并做我想做的事情。 如何通过在浏览器中调用服务器ip地址公开运行PHP网站? 当我使用XAMPP时,它会公开吗?还是只针对本地? 我找不到教程如何做到这一点,我不知道在哪里/如何寻找正确的教程。我在谷歌和youtube上搜索了很多小时,但没有成功。

  • 问题内容: 我只是在硒方面迈出了第一步。我成功设置了一个测试(Firefox驱动程序),该测试在Jenkins的Selenium网格上运行(使用Jenkins- Selenium-Grid插件)。我还在运行Jenkins的计算机(Server2003 64位)上安装了Chromdriver插件和Chrome本身。已为所有用户安装Chrome(在C:\ Program Files(x86)\ Goo

  • 关闭网络浏览接口 启动网络浏览接口时按下按钮。会自动切断与网络的联机。 提示 亦可从选单列中选择[档案] > [关闭网页]。

  • 问题内容: 我想使用Python在本地计算机的网络浏览器(Chrome或Internet Explorer)中打开网站。 有没有可以为我做到这一点的模块? 问题答案: 该模块看起来很有希望

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 Linux服务器上是否有任何免费的OCR库可与PHP或Python一起使用?想法是能够上载图像并从中拉出字符,或者允许用户“绘制字符”,并将其解析出所述图像。