有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以使用带有LEMP的DigitalOcean上的JSP页面吗?

我一直在寻找网络托管服务已经有一段时间了,为了和我目前在大学勤工俭学项目中学习的内容一起学习。我倾向于DigitalOcean,因为它们相对便宜,目前是学生促销活动的一部分。目前,我们已经了解了Java/JSP web开发,并被鼓励研究Java web服务。我认为在我学习的同时编写一个教程网站是个好主意,以巩固这些概念

然而,从我在这里读到的内容来看,JSP要求安装Tomcat。它也需要Apache吗?此外,我注意到DigitalOcean同时提供LAMP和LEMP作为“一键安装”。是否可以将JSP页面与LEMP一起使用(正如我也读到的,LEMP比LAMP更快/更好)?还是我会被迫使用台灯

最后,如果我可以使用LEMP,我需要做什么才能使用JSP

如果我需要包括任何其他内容,请告诉我

谢谢


共 (1) 个答案

  1. # 1 楼答案

    双重责任

    ApacheTomcat的存在理由是成为最先进的Servlet/JSP“容器”(引擎)。Tomcat还提供了一个非常好的web server实现

    Tomcat实际上是多个组件的集成,包括:

    来自EclipseJetty是Tomcat的流行等价物。这两种都是非常好的旧产品。在我的整个回答中,“Jetty”可能是“Tomcat”的同义词

    对于不寻常或极端的需求,一些人选择使用Apache HTTP Server作为他们的web服务器,Tomcat运行在“后面”。在这个场景中,Tomcat只用于其Servlet/JSP container服务。前端web服务器处理对静态资源(.html页面、图像等)的请求,同时通过指向servlet&;JSP。对于大多数人的大多数项目来说,这种前置web服务器是不必要的复杂化

    #Java企业版

    Tomcat&;Jetty只提供servlet和JSP,作为扩展Java Standard EditionJava Enterprise Edition技术的一个狭窄子集。对于像我这样的许多人来说,Java SE+Tomcat/Jetty就是我们构建和运行web应用所需要的全部

    您可以添加一些单独的JavaEE技术。将jar库文件添加到应用程序中。或者,代替Tomcat/Jetty,您可以升级到TomEEWildFlyGlassfish或其他类似的Java EE服务器,这些额外的库已经捆绑在一起。所有这些Java产品都可以单独作为web服务器工作

    端口80

    将Tomcat或任何此类Java产品用作web服务器的唯一问题是web的默认端口80。在类似Unix的操作系统中,为了安全起见,低编号端口受到限制。这就是为什么Tomcat默认为8080端口。因为Java是为了安全而构建的,所以Java应用程序很难优雅地获取端口80

    通常的解决方案是Port-Forwarding。在操作系统中的网络工具将传入的请求转换为使用备用端口时,将基于Java的web服务器保持在高编号端口上

    例如,使用现在过时的ipfw工具:

    sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
    

    不需要LAMP/LEMP

    至于LAMP/LEMP产品集合,如果专注于Servlet/JSP工作,就没有必要了

    这个L是针对Linux的。没关系。但是请注意,DigitalOcean now offers{a21}以及Linux讨论了herehereBSD以坚如磐石的可靠性和对安全的关注而闻名。Mac OS X和iOS的许多技术基础都建立在BSD上,使BSD成为世界上容量最高的Unix-like操作系统

    AE分别指的是ApacheHTTP服务器和Nginx。正如上面所讨论的,这些web服务器很少需要,因为Tomcat自己的web服务器能够处理除最大或最复杂的项目之外的所有项目

    {}是MySQL,一种流行的数据库。就我个人而言,如果您需要高质量的企业级关系SQL和/或“NoSQL”/JSON/半结构化数据库服务器,我强烈建议您使用Postgres。或者从更轻、更简单的东西开始,试试纯Java内置的H2 Database Engine

    PPHP,一种用于构建动态页面的语言和工具包。不需要这样做,因为Servlet/JSP技术服务于同样的目的,同时更加先进和复杂,包括更强大的多线程功能,更不用说许多优秀的Java库,比如Joda-Time&java.time

    我的经历

    多年来,我为静态服务或web应用程序(通常为Vaadin应用程序)设置了多个web服务器。我简单地说:

    • Mac OS X
    • Java SE(标准版)
    • 雄猫

    我发现它可靠、快速、易于管理

    对于一些项目,我使用colo,比如MacMiniVault.com。一个月30-50美元的16兆内存和1 TB存储的Mac mini可能是更好的选择虽然硬件可能不如DigitalOcean的底层硬件那么可靠/企业级质量,但相比DigitalOcean这样的云服务器,您可以获得更高的性能。但只有当你需要大量的内存、内核或流量时,这才有意义。当只是学习和实验时,像DigitalOcean这样按小时付费的虚拟服务器是一个不错的选择

    我想DigitalOcean将是一个很好的开始,让你的脚湿。[看到我在那里做了什么吗?]