This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'm a C#/.NET developer who is moving to Java. Because of my background, I'm used to having essentially one and only one provider and framework (i.e. Microsoft's). Now that I've started to look at Java (I already know most of the basics - I'm reading up on JDBC right now and then it's on to tackle Java EE), I'm feeling a bit overwhelmed at how many frameworks and the like there are; as I said I'm not used to the choice
I'm wondering if I should pick a single "platform", as it were, and then choose to use the framework/etc related to that platform, to keep things simpler than choosing Server A, Framework B, and Utility C.
Let me explain.. I'm a bit confused as to the real difference between the different application servers. I've seen/heard of Tomcat, Sun Application Server, Glassfish, and JBoss. With frameworks I'm aware of Struts being the most common but complex, Spring and Tapestry, and Seam. Would I better off, say, choosing JBoss as the server and then, because I'm using JBoss, using Seam for the framework automatically (because it's linked with JBoss)?
I'm used to there being one and only one (relatively speaking, I know there are now some frameworks for .NET out there) way to do things, so while I'm appreciative of the choice that Javaland offers, it's a bit frightening as I like to use the "industry standard" way of doing things to keep it simple and leverage the community (especially when I am new to something, like the Java platform).
Sorry for the long-winded question, I guess it's not really a "beginner" level question, but I am a beginner to Java (I've done ASP.NET mainly for about 2 years and used C#, so I don't have much to learn for Java - mainly just the quirks and differences)
I dont understand your question exactly i.e., correct punch in the question.I think yoou are asking about server avd container. server is responsible for connecting to browser,communicating with the browser ,handling the request for static resources like html etc and transfering the HTTPrequestto container( what you want will come into action), and also sending the HTTPreponse to browser Application container takes the request from the server and handles those ServletRequest(internally it will translate HTTprequest to ServletRequest) and sneds HTTPresponse(translating the ServletResponse). server is apache container is tomcat. container may also acts as server.To get a lot of features that are present as part of server,we will combine server and container
Most experienced Java web developers, myself included, would tell you to ignore the frameworks until you have a good handle on basic Servlet and JSP technology.
Then and only then will you have the insight necessary to choose a framework, if any, that is appropriate to your tasks.
Tomcat isn't a framework, but a Servlet/JSP container and server. It's popular because it's free, works well, is production-ready, and is easy to set up.
JBoss uses Tomcat as its Servlet/JSP engine, and would only be used if you need EJBs -- most certainly something you should not even be thinking of at this point. [ January 01, 2008: Message edited by: Bear Bibeault ]