代码之家  ›  专栏  ›  技术社区  ›  Joh

如果我想用成千上万的用户建立网站,我应该使用哪种Java技术?

  •  5
  • Joh  · 技术社区  · 15 年前

    对不起,我问了这个问题,但我搜索了所有的Java问题,但我变得更困惑了。我还是不清楚该从什么开始

    1)我的主要是用Java构建网站,因为有人告诉我,在Java中有一些机器学习或AI库,我可以在Java中使用。所以我决定用它来减少我的工作量。

    现在我不知道Java,有些人说以下是用来构建网站的

    1)Servelts alone can build webiste
    2)JSP alone can also build webiste
    3)Struts
    4)Spring with Hibernate
    5)SEAM
    6)Java EE also for webistes
    

    伙计们,我不知道从哪里开始。核心Java在这里适合什么地方。

    我在考虑学习python,因为我知道我必须学习python,而不是它的变体。

    所以请指导我一件事,可以解决我使用人工智能现成库的基本目的

    如果我能用JSP做到这一点,那么我将从这个开始。 但是我需要学习所有这些,如果可以开始学习Python,那就更好了。

    我有5个月的时间来完成网络节目。

    我真的不知道为什么有很多爪哇的爪哇做一件事

    7 回复  |  直到 12 年前
        1
  •  4
  •   Bozho    15 年前

    纠正你的一些误解:

    • servlet和jsp是javaee
    • Seam和Struts也可以与Hibernate一起使用。
    • SpringMVC是一个Web框架。Spring作为依赖注入框架可以与任何其他框架一起使用。
    • 还有许多选项,如JSF、Tapestry、Click、Play等。

    这取决于网站将要做什么,但您可以选择任何一个。

        2
  •  4
  •   Community CDub    8 年前

    对于静态网页来说,仅HTML就足够了,如果您想让它更易于用户使用和交互,可以使用JavaScript。在jquery等JS中,可以直接使用很多框架。现在,如果你想做一些更多的功能,比如数据库交互,那么你需要PHP、Java(JSP、servlet)或.NET(还有一些,但我只知道三)。他们每个人都有自己的库来与数据库交互。

    由于您对Java感兴趣,请访问servlet、HTML、JS、JSP。完成后,您可以查看JSF和EJB bean。因此,如果你有Java的知识,这将不会花太多的时间,因为语法是相同的,唯一的区别是概念。

    所以您将拥有一个前端(HTML、JS、JSP),它将与后端(servlets、database)交互,后者将部署在Web容器中。要部署,您可以使用可用的应用服务器之一,如ApacheTomcat、GlassFish或WebSphere。为了开发您的应用程序,您可以使用Eclipse作为IDE,这是我使用的最好的IDE之一。

    因此,决定您的体系结构和设计,将其分解为组件,并首先开始编写小型应用程序。一旦你对小应用程序有了经验,就可以开始编写应用程序,在这个应用程序中,你需要注意更多的事情,比如数据库的负载、可用性、安全性等等,因此你可以参考非常著名的线程。 https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site .

    希望能有所帮助。

        3
  •  4
  •   Thorbjørn Ravn Andersen    12 年前

    经验表明,构建复杂的HTML表单(尤其是验证)和Ajax功能是很难正确实现的。你很可能会喜欢有一个图书馆来帮助你。数据库访问也是如此。

    一切都建立在servlet之上。学习这些,以便了解您将使用的库。

    我建议用FACELET学习Java Server Frase.强大的最容易的是JavaEE 6中的JSF 2。最简单的开始方法是使用Netbeans和Glassfish 3。

        4
  •  0
  •   Yann Ramin    15 年前

    最接近核心Java的是servlet。没有额外的语法,非常少的库,但没有包含的功能。

        5
  •  0
  •   gekrish    15 年前

    对于构建网站,主要是HTML和HTTP。所有的技术(包括企业Java或服务器端Java)都是一样的——理解HTTP请求,并用HTML回复。你提到的所有事情都是以不同的复杂程度来做的。从wikipedia.org开始了解什么是技术。如果您对Java完全陌生,请通过Sun教程,做样例程序,并熟悉Java包、JVM和类。(这可能需要一两周时间)。要使用Java构建网站,你必须学习Java servlet——其他所有东西(JSP、Struts、JSF、Spring(!))是建立在它之上的。在Java、servlet上获得首个书籍,它们将是有用的。

    祝你一切顺利。

        6
  •  0
  •   Janusz Daniel Rindt    15 年前

    你总是可以用Ruby或者其他什么东西构建页面,这些东西会给你一个非常快的网站,对于那些分析购买物品的人工智能来说,为了推荐,使用一些与只需要数据库的页面无关的东西。我不会把整个网页和人工智能计算混为一谈。你可以做人工智能的事情,这将需要很长的时间,也许应该在不同的机器上,使您的网页也响应于普通应用程序中的C++或Java。

    选择前端技术是一件非常危险的事情,因为后期的使用。使用整个Javaee概念并从零开始学习将花费您更长的时间,如果您使用Ruby或PHP,那么就可以快速开始您的页面。然后,您可以构建页面的第一个版本生成一个用户群,一旦您使用其他技术获得了一些数据,就可以开始处理人工智能。如果你的页面因为你的技术不能扩展而出现性能问题,你可以开始将部分内容转换成更快的技术或者更大的机器。让你的页面在你为你所期待的千百个用户建立它的防弹性之前运行起来。

        7
  •  0
  •   Alon Bar David    12 年前

    如果您试图从头开始构建一个网站,而事先不知道,那么您最好的选择是使用为Web开发提供完整堆栈的框架。
    如果你对Java没有死气沉沉的话,你可以开始学习Ruby on Rails,这样更容易开始。 ruby on rails tutorial 它经历了从MVC到版本控制的所有现代Web开发所必需的事情。

    对于Java尝试:

    这两个是完整的Web框架,即处理数据库、MVC(表示层)、配置设置等。(我稍后解释)。甚至可以简化部署过程。

    如果你要通过其他途径(一起使用几个框架),你可能不会在五个月内完成你正在做的事情。
    要理解原因,并澄清问题中所写的一些内容,您需要了解现代Web开发(和整个企业开发)由几种不同的技术组成:

    • 演示:Web框架这个术语或多或少是指处理Web开发这一方面的框架,即如何创建网页(HTML页面)。大多数框架都提供类似MVC的方法(您可以在其他地方阅读),这就是您所提供的大多数框架/技术——JSP和Struts(使用JSP)都是Web框架的例子。servlets是一个较低级别的API,它标准化了如何响应HTTP请求(JSP和Struts位于其中的顶部)。

    • 持久性:如果无法将数据保存到数据库中,那么能够显示网页并不意味着这些天要蹲着,持久性框架就是这样做的(它们简化了将数据保存到数据库中的方式)。Hibernate是一个持久性框架。

    • 对于Java,还有依赖注入,这就是Spring DI。很难向不熟悉Java问题的人解释DI,所以我不会试图解释它,但它是现代Java开发的一个非常重要的部分。

    • 除了这些核心技术之外,还有许多项目需要学习如何实际部署应用程序(除非您使用Heroku或Google应用引擎等服务,这样可以简化问题),并在以后对其进行故障排除(了解并发性和HTTP的工作原理)。

    要解决您提出的其他技术:

    • 我从来没有真正接触过Seam,所以我不确定,但它看起来像是其他框架的集合(主要是EJB3,它本身就是API和JSF的集合)。
    • Spring表示一个流行的开放源码组(SpringSource组),它提供各种技术,但最有可能的是,当你听说它时,它们指的是Spring的依赖注入(DI)和Spring的MVC(这是一个Web框架)。
    • JavaEE只是其他技术实现的高级API的集合(例如,Hibernate实现了JavaEE的一部分JPA)。