所以我想创建我的第一个Web应用程序。但是,只有太多选择知道从哪里开始我会从一件事跳到另一件事。
首先应该使用哪个ide:
目前我正在使用netbeans,我可以看到所有样本都在使用glassfish。
glassfish
吗?或者我应该看看tomcat
,jboss
,...... glassfish
示例并切换到tomcat服务器时,某些类不再被识别。每个服务器都有自己的类吗?spring
教程使用tomcat
时,它是否也可以与glassfish
一起使用? jsp
或servlets
jsp
其他一些更喜欢servlets
现在仍在使用的内容?freemarker
而不是jsp
/ servlets
的网站,但是学习使用jsp
和{{1}并不是更好}?那么框架呢
servlets
这样的框架作为初学者还是不是更好?构建工具
spring
,maven
,ant
等构建工具吗?或者在学习曲线上是否过度?java web应用程序如何存储在服务器上?
我想做的就是从简单开始,从那里开始建立。但我真的需要一些关于最好先学习的原因和原因。
答案 0 :(得分:3)
可能是一个过于宽泛的问题,但要保持简单:
如果是您的第一个应用程序,但不仅仅是一个小测试:
<强>框架强>
服务器强>
<强>数据库强>
读物&amp;教程强>
答案 1 :(得分:1)
没有通用答案,一切都取决于您的需求。
如果您已经熟悉Java IDE,那么您应该坚持使用,NetBeans肯定足以进行EE开发。
对于服务器,您应该查看一个问题:
如果您需要的不仅仅是Java EE的Web配置文件(Java EE 6 Web profile vs Java EE 6 Full Platform),那么您需要一个像Glassfish或JBoss(WildFly)这样的应用程序服务器,因为Tomcat没有附带完整的Java EE配置文件。否则你应该找到足够的文档。我个人使用JBoss 7.x / WildFly 8并且从未遇到过无法解决的问题。
Servlets和JSP都已经有点过时了,如果你想用干净的代码分离来构建一个更大的应用程序,我会推荐JSF 。但是,了解Servlet或JSP的基础知识有助于开始使用JSF。
从Java EE 6/7开始,我建议坚持标准。例如。使用CDI或EJB代替Spring并且只使用标准JPA,这样,如果您遇到一些麻烦,就可以随时更改JPA-Provider或Webserver而无需更改代码。 Hibernate是JPA的不错选择,但EclipseLink也可以做得很好 如果这样做,您的大多数代码将独立于您选择的服务器。剩下的是配置,它因服务器而异,但在大多数情况下仅在开始时才需要。
像Maven这样的构建和依赖管理工具帮助很大,但一开始并不是强制性的。注意:它们可能需要特殊的目录结构,因此最好从骨架项目开始。
关于如何部署Web应用程序,通常将它们打包(例如作为WAR - Web应用程序存档),然后将它们放入服务器的deploment文件夹中
答案 2 :(得分:0)
为了让开始和慢慢消化变得简单,我建议 基本的hello world web应用程序 Spring Web MVC, Netbeans作为IDE, Tomcat 7作为您的服务器。
然后你可以跳转到数据库集成,然后探索hibernate。 对于数据库,您可以使用MySQL。
相关链接:
(Spring MVC)
http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/
(Spring MVC,Hibernate,MySQL)
http://www.mkyong.com/spring/maven-spring-hibernate-mysql-example/
答案 3 :(得分:-1)
成为基于Java的Web应用程序开发人员的另一种方法是使用Vaadin。
有两个版本:
第一个是精通Java的开发人员,他们希望开发具有专业外观的复杂"single-page"网络应用,而无需了解网络技术(HTTP,HTML,CSS,DOM, JavaScript,Ajax,Comet,Push,WebSocket等)。所有这些Web标准技术都是在运行时使用的,但是在幕后,作为Java程序员对您来说是透明的。
使用Vaadin,Java开发人员说“我想要一个布局来在屏幕上保存一些小部件,这些小部件应该是这个按钮,该按钮,几个带标签的文本字段和数据网格。” Vaadin在运行时自动生成必要的HTML + CSS + JavaScript +等。在客户端(任何常见的Web浏览器)上远程呈现该UI。
当用户单击其中一个按钮或在其中一个字段中键入时,服务器端运行的Java代码会自动通知该事件。您的代码可以通过运行业务逻辑,将数据保存到数据库,连接到Web服务或其他数据源/接收器来做出反应......所有这些都在服务器端执行,而无需客户端/浏览器的任何参与。
Vaadin在内部实施为Java Servlet。它使用Servlet技术在任何web container上运行,例如Apache Tomcat和Eclipse Jetty。您可以选择将Java EE中的库有选择地添加到该容器中。或者您可以选择使用成熟的Java EE服务器,例如Glassfish。如果你喜欢CDI / Spring,Vaadin也可以使用它。