很抱歉提出这个问题,但我搜索了所有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而不是它的变化
所以请指导我一件可以解决我使用现成AI库的基本目的的事情
如果我能用JSP做到这一点,那么我将从那开始。 但我需要学习所有这些,如果可以开始学习python,那就更好了。
我有5个月的时间来完成网站。
我真的不知道为什么有很多java用于做一件事
答案 0 :(得分:4)
纠正你的一些误解:
这取决于网站将做什么,但您可以选择任何。
答案 1 :(得分:4)
经验表明,构建复杂的HTML表单(尤其是验证)和AJAX功能很难做到。您很可能会喜欢有一个图书馆来帮助您。数据库访问也是如此。
一切都建立在servlet之上。学习这些,以了解您将使用的库。
我建议使用facelets学习Java ServerFaces。最强大的功能是Java EE 6中的JSF 2.最简单的入门方法是将NetBeans与GlassFish 3一起使用。
答案 2 :(得分:4)
对于静态网页,仅HTML就足够了,如果你想让它更加用户友好和交互使用JavaScript。你可以在JS中直接使用很多框架,比如jquery。现在如果你想要更多功能,比如数据库交互那么你需要php,JAVA(JSP,Servlets)或.NET(还有一些,但我只知道三个)。他们每个人都有自己的图书馆与数据库互动。
由于您对JAVA感兴趣,请浏览servlet,HTML,JS,JSP。完成后,您可以查看JSF和EJB bean。因此,如果你对JAVA有所了解,这不会花费太多时间,因为语法是唯一的区别是概念。
因此,您将拥有一个前端(HTML,JS,JSP),它将与将在Web容器中部署的后端(Servlet,数据库)进行交互。要部署,您可以使用一个可用的应用程序服务器,如apache tomcat,glass fish或websphere。要开发您的应用程序,您可以使用Eclipse作为IDE,这是我使用过的最好的IDE之一。
因此,决定您的架构和设计,将其分解为组件并首先开始编写小型应用程序。一旦您在小型应用程序开始编写应用程序方面经验丰富,您需要处理更多事情,例如加载数据库,可用性,安全性等。为此,您可以在SO https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site上引用非常着名的线程。
我希望它有所帮助。
答案 3 :(得分:0)
最接近核心Java的是servlet。没有额外的语法,非常小的库,但没有包含的功能。
答案 4 :(得分:0)
对于构建网站,主要是HTML和HTTP。所有技术(包括Enterprise Java或Server端Java)都这样做 - 了解HTTP请求并回复HTML。你提到的所有内容都以不同的复杂程度做同样的事情。从Wikipedia.org开始,了解什么技术。如果您对java完全不熟悉,请通过sun教程,编写示例程序,并熟悉Java包,JVM和类。 (这可能需要一到两周时间)。要使用java构建网站,您必须学习Java Servlets - 其他所有内容(JSP,Struts,JSF,Spring(!))都是基于它构建的。获取关于Java,Servlets的第一本书,它们将非常有用。
一切顺利。
答案 5 :(得分:0)
你总是可以在ruby中构建页面,或者能够非常快速地为你提供网站的东西,并且对于那些分析购买的项目以获取建议的AI内容使用与仅使用数据库的页面无关的内容。我不会将整个网页内容与AI计算混合在一起。您可以执行AI操作,这需要很长时间,也许应该在不同的计算机上完成,以使您的网页在正常应用程序中也能响应C ++或Java。
由于以后的使用而选择前端技术是一件非常危险的事情。使用整个JavaEE概念并从头开始学习将花费更长的时间,然后如果您在ruby或PHP中快速启动页面。然后,您可以构建第一个版本的页面,一旦您获得了其他技术的数据,就会生成用户基础开始处理AI的内容。如果您的页面存在性能问题,因为技术无法扩展,您可以随时开始将部分内容切换为更快的技术,或者只是更大的机器。在为您预期的千名用户构建子弹证明之前,让您的页面运行。
答案 6 :(得分:0)
如果您尝试从头开始构建一个网站,没有任何先验知识,那么最好的选择是使用为Web开发提供完整堆栈的Frameworks。
如果你没有设置java,你可能会开始在rails上学习ruby,这将更容易开始(如果是这样,去购买ruby on rails tutorial,它通过现代Web开发的所有必要的东西,从mvc到版本控制)。
对于java try:
这两个是完整的Web框架,即它们处理数据库,MVC(表示层),配置设置等......(我将在稍后解释)。甚至可以简化您的部署过程。
如果你要经历任何其他路线(一起使用几个框架),你可能不会在五个月内完成你正在做的事情。
要理解为什么,并清除您在问题中写下的一些内容,您需要了解现代Web开发(以及整个企业开发)由几种不同的技术组成:
演示文稿:Web框架这个术语或多或少被认为是指处理Web开发这一方面的框架,I.E。如何创建网页(HTML页面)。大多数框架提供了类似MVC的方法(您可以在其他地方阅读),这就是您给出的大多数框架/技术 - JSP和Struts(使用jsp)是Web框架的示例。 Servlets是一个较低级别的API,它标准化了如何回答HTTP请求(JSP和struts位于其上)。
持久性:如果你不能将数据保存到数据库,能够显示网页并不意味着蹲下这就是持久性框架所做的事情(它们简化了将数据保存到的方式)数据库)。 Hibernate是一个持久性框架。
对于java,还有依赖注入,这就是Spring DI。向不熟悉java问题的人解释DI很难,所以我不会试图解释它,但它是现代java开发中非常重要的一部分。
除了这些核心技术之外,您还需要学习很多项目来实际部署应用程序(除非您使用Heroku或Google App Engine这样的服务,这应该简化事情)并对其进行故障排除稍后(了解并发和HTTP如何工作)。
要解决您提出的其他技术: