回答
你可以走很远的路只用servlet和JDBC。考虑使用JSTL的JSP作为一个附加的细节。
但我敢打赌,如果您的网站不止一页或两页向浏览器提供数据库内容,您很快就会发现Web框架为何如此之多。硬连线的页面导航,控制逻辑,图层模糊等将随着您的网站的发展而引起头痛。
你会发现你有很多类似的,重复的,但是每个新功能的代码略有不同的代码。如果您必须维护一个网站并继续进行下去,最终可能会得出结论,即有可能捕获的模式。谁知道?也许你会根据自己的经验来决定你想要解决Web框架问题。
无论你做什么,我认为有不同的层次是关键。没有servlet完成所有工作 - 它们用于处理HTTP请求。将工作嵌入servlet可以简单调用的服务类中。这样你可以重用这个逻辑。将持久性代码保留在自己的层中,不要让它泄漏到其他层。您可以拥有可重复使用的组件,这些组件可以在您的第一次努力中幸存如果您决定切换到Web框架,您只需将这些图层折叠到位并关闭即可。
我写了我的第一个重要的网站没有任何框架 - 只是直接的servlets,JSP和JDBC。它让我更好地理解发生了什么。我认为它有帮助。
是的,绝对。 Java看起来似乎让所有框架都陷入了瘫痪状态;但是,您可以通过滚动您自己的基础架构来构建出色的Web应用程序。话虽如此,我认为Spring是一个很好的框架来看待它,并且有很好的文档记录和支持。
总是可以在不使用框架的情况下构建应用程序,无论是否为web。
框架可以帮助您减少实际编写的代码量。框架可以被认为是任何Web应用程序(数据库访问,会话管理,访问控制等)通用的25%的代码,所以如果你要自己编写代码,那么很好;但请记住,您可以通过使用任何可用的框架来减少工作量。
框架为您提供了另一个主要优势,它们可以帮助您以标准方式设计您的应用程序,这对维护代码有很大帮助。
对于Java,您可以使用Struts或Spring框架来构建应用程序。
Here is a long list基于Java的Web应用框架。
是的,这是可能的。但它很少有意义,因为你必须自己从头开始实现所有需要的功能。这需要花费很多时间和精力,并且通常会产生比通过使用框架更差的代码。学习一个框架也需要一些努力,但是一旦你学习了一个框架,你就可以很容易地在你的下一个项目中使用这些知识。
使用常规的jsp,你可以真正把一些额外的类组成你的框架,这通常意味着某种类型的servlet过滤器将一个url映射到一个类。您经常想要这样做的原因是在渲染开始之前运行一些代码(您的控制器/操作)。
这都是非常简单的蚂蚁,离我们正在做的事情不太远。但是我们使用了很多JSTL,这也是一个框架。还有一些春天,是的。但是不需要网络框架。
检查出Head First Servlets and JSP的基本构建Java Web应用程序没有使用复杂的框架。在使用框架的时候很好理解幕后会发生什么,本书是一个很好的介绍。
HFS&JSP http://oreilly.com/catalog/covers/9780596005405_cat.gif
我会去使用Spring MVC 2.5+使用注释。很简单。
是的,绝对。继续,不要让任何人灰心!早在今天,一个新的java程序员写的第一个单人飞行项目就是从thehun.com上吸取色情的东西。这些天,我赞赏我们年轻程序员的成熟。
- 1. 是否可以在没有Java的情况下构建Android应用程序?
- 2. 可能在没有框架的情况下创建Web应用程序?
- 3. 构建Web应用程序的框架
- 4. 是否有可能在不使用servlet的情况下使用Java创建Facebook桌面应用程序?
- 5. 是否可以在不使用Rails的情况下使用FactoryGirl?
- 6. 我们可以在不使用MVC的情况下在Web应用程序中使用Sharp体系结构吗?
- 7. C#应用程序可以在没有.NET框架的情况下运行吗?
- 8. 是否可以在不使用小程序的情况下获取Web浏览器的Java VM?
- 9. 是否有可能在不使用多个文件的情况下构建AngularJS应用程序
- 10. 在这种情况下可以使用javascript而不是java吗?
- 11. 是否有任何其他Web编程语言可以在没有框架的情况下使用?
- 12. 是否有可能在不使用rails的情况下使用Cucumber测试javascript-heavy Web应用程序?
- 13. 是否可以在不安装的情况下使用'Microsoft.ACE.OLEDB.12.0'提供程序?
- 14. 是否可以在不使用头文件的情况下编写c程序
- 15. 是否可以在不使用Interface Builder的情况下创建Mac应用程序?
- 16. 是否可以在不拖放的情况下使用Linq-SQL?
- 17. 如何在不使用Eclipse的情况下创建动态Web应用程序?
- 18. 如何在不构建所有Android的情况下构建AOSP应用程序?
- 19. 是否可以在不使用JTextArea的情况下在java中构建一个简单的文本编辑器?
- 20. 如何在不使用iPhone SDK的情况下构建iPhone应用程序?
- 21. 如何在不包含需要的框架的情况下构建框架?
- 22. 是否可以在没有GNOME的情况下运行GTK +应用程序?
- 23. 是否可以在没有SDK的情况下编写Android应用程序?
- 24. 是否可以在不禁用JavaScript的情况下禁用AJAX?
- 25. 是否可以在没有Visual Studio的情况下构建一个html + js窗口应用程序?
- 26. 是否可以在没有从源代码构建Qt的情况下部署Qt应用程序?
- 27. 是否可以在没有服务器的情况下构建HTML5应用程序?
- 28. 是否可以在不使用WindowsBuilder的情况下在eclipse中创建GUI?
- 29. 是否可以在不注册应用程序的情况下从Web界面访问播放器API?
- 30. 是否可以在没有IIS的情况下使用Silverlight RiaServices?
+1推荐此 - 它可能会节省我在我的下一个项目。 :) – 2009-02-20 18:16:36
@Christian:它绝对让我在一个项目上一次。当然,当Struts是唯一可以谈论的框架的时候,这就回来了。 :) – 2009-02-20 20:22:04