How can I become a Java Web Developer?
Recently, someone asked me on my Facebook page, "how can I become a Java Web Developer ?" The answer to this question is not simple. Becoming a Java Web Developer involves many aspects. I have met a Java programmer who may have been a good front-end developer or a good back-end developer. The so-called "front-end" refers to many browser technologies-HTML, CSS, Javascript, and Java template technologies, such as Thymeleaf, SiteMesh, or the ancient JSPs. Backend developers have more solid Java, Database SQL, and NoSQL), message transmission JMS/AQMP) and Web Service SOAP/REST skills.
You should also know the so-called "Full stack" Java developers. This is a collection of personal skills. A complete full-stack developer should also be competent for front-end development and back-end development. This may be the path with the highest difficulty coefficient, because the technology involved is very diverse. Maybe one day, you are still debugging jQuery one second ago, and then you will go to Performance Tuning for Oracle database queries. However, it takes time and experience to become a full-stack Java developer.
Where to start?
For ambitious developers, the prospect of technology will become an overwhelming motive force. However, technology is constantly changing. Will you risk learning something that will soon become obsolete?
Client technology
I suggest novice developers learn from the basics of HTML, CSS, and JavaScript. These technologies are the core of web development. In a sense, these technologies are also common. They are used by both Java web developers and Ruby Web developers.
HTML
HTML-hypertext markup language. This is used to generate Web pages. You need to have an in-depth understanding of HTML. At the beginning of the world wide web, HTML is traditionally a file provided by a Web server to a browser. It is very effective for static content. Does not change the content. However, people are more and more inclined to dynamic content. As a result, HTML is no longer a static file, and HTML is generated as needed. As a Java web Developer, you have to write code for how to generate HTML files for web browsers. You need to have a deep understanding of the structure of HTML documents.
CSS
CSS-stacked style sheet. This is used to display the page style. It controls the font, color, and layout. Unlike HTML, CSS defines the appearance of a webpage when presented in a browser. For example, you can use a set of CSS rules for desktop Web applications and a different set of CSS rules for mobile applications. The same HTML has two completely different appearances when rendered in a browser.
Javascript
Javascript-create something on a web page. Do not confuse Java with Javascript. Although they have some syntax similarity, they are two completely different programming languages. JavaScript can truly promote Web 2.0 applications. By using Javascript, You can dynamically change HTML/CSS based on your operations to provide users with more visual web pages.
HTTP
HTTP Hypertext Transfer Protocol)-communication between the client and the Web server. Too many web developers have no idea about HTTP. HTTP is definitely a key skill you must learn. Especially when you use AJAX to work. You need to know the difference between a POST and a GET. Remember the meaning of HTTP status codes 200,301 and 404-and more. As a Java web Developer, you must deal with HTTP in your daily work.
Server Technology
Java
Java-the question in this article is how to become a Java web Developer. So of course you must know the Java programming language. In addition to Java, you should be familiar with Java Servlet APIs. Some Java web frameworks hide the usage of Java Servlet APIs. If something goes wrong, you need to know what happened behind the scenes.
JPA
JPA -- Java persistence API -- use a database. JPA is the standard for traditional Java relational databases. Hibernate is now the most widely used JPA implementation. As a Java web Developer, you must use a database. You need to get the content from the database to be displayed on the webpage, or receive the content from the user and store it in the database. Therefore, Java web developers need to know how to use JPA.
Java Application Server
Java application server-Java web application runtime container. Tomcat is the most popular Java application server so far. A Web application archive file, also known as a WAR file, has a Java standard. These are deployed on application servers, such as Tomcat, to provide a runtime environment for your web applications. More than a decade ago, application coupling between applications and application servers was also popular. However, the current trend supports loose coupling between applications and application servers.
Java framework
Note that I have not mentioned any Java framework so far. All I 've described is the different technologies you use as a Java web Developer. The Client technology is completely independent of the server technology. Firefox does not care. The server is running Java, Python or. NET. However, novice developers often forget this point.
Java web development without the Java framework is also possible. But in this way, you need to write a lot of code to handle what the original framework can do for you. This is why you usually want to use a framework when developing Java web applications.
Spring framework
Spring framework is a great collection of tools for building web applications. Although there is no accurate statistics, I have seen an article estimate that more than 60% of Java-based web applications use Spring. This is not surprising. Spring Core has IoC containers and dependency injection. Spring MVC is a mature and flexible web framework based on MVC. Spring Security is the best tool to protect websites. Spring Date helps maintain durability. Spring has other projects that you can use to build a wide range of promotional applications.
When it comes to the overall framework, there is no replacement for Spring. Even if there are many competing technologies for different Spring projects. However, there is no single solution that provides depth and breadth of Spring framework projects. In my Spring getting started online tutorial, I gave a good overview of major Spring framework projects and explained how to use them to build enterprise-level applications.
Grails
Grails is a Rapid Application Development framework built on Spring. It not only owns all the content of Spring, but also draws on Groovy's productivity advantages. I like to describe Grails as a Groovy-encapsulated Spring. The key point to remember is that it is still behind Spring.
Grails is becoming increasingly popular among enterprises. One of Grails's advantages is its outstanding community support.
Spring Roo
Spring Roo is a pure Java framework, which seems to have the same role as Grails, but it does not have Groovy. I am not a fan of Spring Roo, and I did not use Spring Roo for the last time because of market requirements. Spring Roo has not been widely accepted yet.
Play
Scala-based framework. Although I have not tried Play. But now the market has a good response. So I will give it a try if I have a chance. However, it has not yet been widely used by enterprises. At least till now.
JBoss Sea
JBoss Seam may be the most similar alternative to the Spring framework. JBoss Seam follows the JEE standard. JBoss Seam is a good choice and is accepted by enterprises with good support. However, JBoss Seam is often criticized for its slow development and performance compared with Spring. However, some criticism is too harsh on JBoss Seam.
Conclusion
It is impossible to become a Java web Developer. There is no fast-paced teaching material called "21-day self-study as a Java web Developer", and there is no shortcut. You need to learn and master many different technologies. All of these require time to learn.
Becoming a Java web Developer is a very meaningful undertaking. When you get started, you can only focus on front-end technologies, or you can only research backend technologies. With the development of more projects in the future, you can move from this technical field to another technical field.
If I am getting started as a Java web Developer, I will focus on the Client technology first, because the client technology is independent of the server technology. Therefore, after you get started, you will have more options for employment. In addition, although client-side technologies generally offer lower salaries than servers, this is a good start. You can quickly acquire skills to facilitate employment, and then shift the focus to broaden the skill set to seek better job opportunities.