Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to get in to web development. I don't have much knowledge about this line of profession, but on my day job I am a fairly good Java/C++ programmer, so I am familiar with computers, programming, OOP and whatever comes with programming abilities.

What is the technology you think I should start learning (both client and server) and why?

share|improve this question
4  
May I suggest that another title would better reflect what the question is about? 'Getting into Web development', perhaps... – Xavier Nodet Dec 25 '10 at 11:40
3  
I suggest you read this. Web Programming is Hard !! – Nifle Dec 25 '10 at 17:42

closed as not constructive by Walter, Jarrod Roberson, Yannis Rizos Jun 15 '12 at 1:00

As it currently stands, this question is not a good fit for our Q&A; format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

7 Answers

It's not like that, core Java has got its own application areas. Since you know Java you can go for JSP. It will be good for server side programming.

.NET is another good choice. Using (ASP.NET + C#/VB.NET) you can create dynamic pages.

share|improve this answer
JSP's are so yesterday. Facelets fixes JSP's. – user1249 Dec 25 '10 at 9:55
@Thorbjørn Ravn Andersen - or JSF, Oracle/Suns' preferred solution. – justkt Apr 28 '11 at 14:56
1  
@justkt, JSF uses either JSP or Facelets. – user1249 Apr 28 '11 at 15:07

For web applications, basically you need to know the basic Servlets/JSPs, and these days, there are lot of frameworks, like Struts 2, Spring.

share|improve this answer
What about JSF? From Oracle/Sun's perspective, JSF has replaced JSPs. – justkt Apr 28 '11 at 14:56
1  
@justkt Oracle/Sun have established that as the standard, but it is not used nearly as much as Spring & Struts 2. Similarly Glassfish Application Server is the standard, but Tomcat (a simpler servlet container) is more frequently used. – Eric Wilson Apr 28 '11 at 15:16
1  
JSF is a major overengineered PITA. I'd advise everyone to use Apache Wicket or Tapestry instead. You'll have a hard time creating your own controls or using clientside javascript with JSF. If you really use JSF, just use repeaters and nothing else. And libraries like Richfaces or Icefaces don't really make anything better. – Falcon Apr 28 '11 at 19:29

Start here: http://www.w3schools.com/

Some keywords: html, javascript, jsp, servlet, ajax, jdbc.

share|improve this answer
9  
-1: w3schools is full of incorrect info, see w3fools.com – John Straka Feb 2 '11 at 13:49
5  
The creators of the the w3fools website are nitpicking idiots. I've reviewed their complaints and can't say that the points listed are major concerns. – Falcon Apr 28 '11 at 15:11
@Falcon Not to say, outdated. Last time I checked this site, many their claims were not relevant. The other ones are mostly either minor or debatable. If we exclude both of them, the number of real mistakes would be pretty thin. So I don't see any real reasons not to use w3schools, just use other resources as well because mistakes can happen on every site. If you deprive yourself of a good resource because someone bothered to nitpick on it, it's your loss. – Malcolm Apr 30 '12 at 20:40
1  
@John Straka, did you really catched those "incorrect info" in w3schools yourself? What makes you think that w3fools guy know better than w3schools? – Mert Jun 14 '12 at 17:37

I don't know much about Java. But I think, ASP.NET MVC is a good choice for an OOP developer. And for the client side, CSS and JavaScript have no alternatives.

share|improve this answer
1  
I don't think opting for .NET will be a good move, since he already knows core java. Here is the link to J2EE tutorial download.oracle.com/javaee/1.4/tutorial/doc/index.html – Ranger Feb 2 '11 at 13:48
@Ranger comment on the question. Else, the asker will not be informed about the comment. I have nothing to get from this comment. – Gulshan Feb 7 '11 at 15:53

If you want to do Java-based web programming, you need to learn the Servlet API and learn it well.

99% of all Java-based web frameworks build on top of this API, so you need to know what is going on. Additionally it allows you to build simple applications where servlets you write based on core Java classes can do "real work" and generate HTML as a response (or images or PDF's or whatever else you can generate a byte stream for). This is a good starting point and allow you to create working stuff relatively quickly.

If you do not know HTML then learn it too. Do not consider the advanced new things in HTML5 yet because there is plenty in HTML4 to master first.

I would consider two good starter things to do:

  • Generate a table in a servlet containing some kind of information based on something the user entered. For instance a multiplication table or so.
  • Generate a GIF in a servlet which shows a rainbow in the browser for a given URL.

Please do not underestimate the amount of knowledge you will need to learn to truly master this area too, but do not become discouraged either. You can relatively fast learn enough to produce quite interesting things.

share|improve this answer

Learn HTTP thoroughly

Once you understand HTTP, particularly the appropriate return codes, then you can see why the servlet API is so handy and why it forms the bedrock for the mainstream frameworks (Spring MVC, RESTEasy, Axis etc).

If you want to just get started and see some results real quick then take a look at this code example using RESTEasy.

share|improve this answer
I have never seen anyone, anywhere highlight the need to learn http return codes. Its worth a look sure, but I would not emphasize it. – NimChimpsky Oct 20 '12 at 19:12
I'm not recommending that someone learn the whole return code set off by heart, but knowing the difference between a 400 and 406 response when you're talking to a properly designed RESTful API can save you a lot of time. It also introduces you to the much wider world of web programming. – Gary Rowe Oct 20 '12 at 19:50
Don't the debuggers on the new browsers show the type of error as well as the code nowadays ? (I can't remember, either they do or I have learnt what the mains are by accident without realizing) – NimChimpsky Oct 21 '12 at 13:06
Probably the latter - I've not seen my IDE (Intellij) offer up a decode of a HTTP response code beyond what is given in the response entity and it is (probably) the best in class Java IDE. – Gary Rowe Oct 22 '12 at 18:19

I would probably go with Spring MVC for a framework to start with. I'm working with Struts 2 right now and its not bad, though a bit tricky with the portlet API. Some other good things to learn would be Hibernate, Maven/Ant for builds, and of course JavaScript for some easy front end manipulation. Of course it really depends on what your building.

I use Java for large scale enterprise applications at work but for a simple company website recently I used PHP, which is super easy to get up and running if your coming from a Java background. The right tool for the job!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.