我有一些用Java为类项目编写web应用程序的经验。我的第一个项目使用Servlets,第二个项目使用Stripes框架。
然而,我觉得我错过了Java web开发的大局。我不太理解web.xml和context.xml文件。我不确定是什么构成了Java EE应用程序,而不是通用的Java web应用程序。我搞不懂bean与普通Java类有什么不同(POJO?)以及它与企业Java Bean (EJB)有何不同。这些只是我能想到的头几个问题,但还有更多。
了解Java web应用程序是如何自上而下工作的好方法是什么,而不是简单地使用特定框架开发应用程序?(有关于这类事情的书吗?)最终,我希望能够充分理解Java web应用程序,以便编写自己的框架。
更新:明确地说,我对学习如何使用特定的框架(例如,Spring或Java EE)不感兴趣。我正在寻找一个通用Java web应用程序的内部结构的解释。
发布于 2010-04-01 03:51:29
探索Java世界并连接所有点的最好方法是只使用其中一个框架,因为所有这些框架都使用web.xml、context.xml和Java组件(都可以持久化Pojo实体bean)。正如你已经知道的Stripes框架,我可以推荐这本书(它的简短和处理你命名的所有方面):
,弗雷德里克·达乌德著,实用主义程序员,ISBN: 1934356212
要更深入地理解这些Java EE技术,更彻底的方法是获得通过这两个Java认证考试所需的所有知识:
Sun认证的Web组件开发人员(SCWCD)
Sun认证业务组件开发人员(SCBCD)
发布于 2010-03-28 11:29:33
我推荐Bates和Sierra的Head First Servlet和JSP。有些人不喜欢异想天开的风格,但它是Java EE的可靠入门。EJB没有包括在内,但是一本书不能做所有的事情。
发布于 2010-03-29 22:41:43
对于web.xml和context.xml文件我并不是很理解。
web.xml文件只是一个配置文件,它指示每个筛选器/servlet下的应用服务器加载和实例化哪些筛选器/servlet,以及应该在哪些url模式上调用这些模式。
context.xml只是另一个配置文件,它指示应用程序位于本地存储系统的哪个位置,以及它应该侦听哪个域/URL上下文。
appserver在启动时解析这两个文件,并采取相应的操作。
我不确定是什么构成了Java应用程序,而不是通用的Java web应用程序。
不清楚您自己对"Java EE应用程序“和”通用Java Web应用程序“定义是什么。要回答这样的问题(即使是您自己),您需要查找和/或重新定义定义。但一般来说,有两种Java应用程序: web应用程序(通常以WAR风格部署)和企业应用程序(通常以EAR风格部署)。主要区别在于,第二个涉及EJB,因此需要在支持EJB的应用程序上运行(例如,Tomcat不支持)。
我搞不懂bean和普通
类有什么不同(POJO?)以及它与企业Java Bean (EJB)有何不同。这些只是我能想到的头几个问题,但还有更多。
这些只是根据所讨论的类的目的(和历史)而应用的术语。术语"POJO“是一个(通常是否定的)术语,表示一个Javabean,它只是一个值对象(完全没有业务逻辑,只有getter/setter方法的纯bean ),并且通常是一个模型对象,它是使用EJB/Hibernate的”遗留“程序的一部分。一些人称它为VO (值对象),另一些人称其为DTO (数据传输对象),还有一些人只是坚持使用"javabeans“。
要了解Java web应用程序是如何自上而下工作的,而不是简单地使用特定框架开发应用程序,有什么好方法?(有关于这类事情的书吗?)最终,我希望能够充分理解Java web应用程序,以便编写自己的框架。
从Head First Servlets & JSP开始。阅读Servlet API并尝试自己实现一个。然而,HTTP的知识也是强制性的。阅读/调试/播放/破解现有开源Servlet API实现的源代码(例如Tomcat)。阅读/调试/播放/破解现有开源框架(例如JSF)的源代码。试着理解它们是如何工作的,然后试着把它做得更好。学习路径(“我需要什么技能?”)我已经在here之前发布了类似的答案。
https://stackoverflow.com/questions/2531783
复制相似问题