I started learning Java, but how far will it actually become a web application? What kind of technique do you need to learn? Is there anyone who is uncertain because they cannot see the future? There was a time when I was worried because java did not evolve from the image that runs on the command line, and the image that can be published on the Web did not boil. In the same way, I would like to explain the whole process of completing the Web application to those who are frustrated and anxious about learning java.
Looking at the contents of the web application in the figure, it looks like this.
First of all, when you start learning Java, you will learn the processing method while outputting Hello World as in the example or on the command line. Where this corresponds to the Web service is the part marked with the red circle below. Although the service user requests "I want you to calculate this" and "I want this information", it performs dynamic processing. The so-called server side. I'm learning Java, and I don't get the image of becoming a web application because I'm learning the contents of the application on the server side. Those that are displayed on a browser, such as html, are faster to improve by using parts, and it is easier to see how they have grown. In that sense, I think some people may find Java sober at first. However, I hear that trends and methods on the design side change quickly, and even if it takes time, if you first learn the logical thinking and mechanism that is the core part necessary for the application, later learning will be much easier. I think it is.
As I explained in "This is what you see in the Zackli diagram!", The application runs in it, and there is some kind of processing like the arrow, and the "` part is too crisp, so it's a little detailed.
In the previous example, JSP is the page where the user first presses the open button when making a request.
JSP is like html where you can write Java processing that uses JSP files.
For example, it is used by specifying http: //localhost/TestWorkspace/ test.jsp
like when specifying html from the browser and checking.
When the button is pressed, the information entered on the page is sent, and a Java file called a Servlet specified as the destination acts as an indicator, and java performs the necessary processing from there. In addition, the result is passed from the Servlet to the JSP and responded to the user.
Now that you know the general mechanism, what should you learn from? Explain the learning content and order that I think from my experience.
First, learn what you can do with Java in the Java Primer. Once you understand the encapsulation, inheritance, and polymorphism, you will have an image of server-side processing.
Introductory text that I also used → *** [Introduction to Java that is refreshing](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3% 82% 8F% E3% 81% 8B% E3% 82% 8BJava% E5% 85% A5% E9% 96% 80-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B1 % B1-% E6% B8% 85% E5% 96% AC / dp / 484433638X / ref = sr_1_1? ie = UTF8 & qid = 1544333892 & sr = 8-1 & keywords =% E3% 82% B9% E3% 83% 83% E3% 82 % AD% E3% 83% AA% E3% 82% 8F% E3% 81% 8B% E3% 82% 8B + java +% E5% 85% A5% E9% 96% 80) ***
After learning Java, I think it's a good idea to use Java to learn how to work with databases. Writing and retrieving data is a necessary skill to create a service, and I would like you to learn it, but on top of that, put the OS in the circled part in the figure, set up a server, and build a DB environment. I want you to. Many people practice development in a local environment (on Windows), but if they don't know how the server works and how to build it, I don't think it will be useful in the field. I have seen some people who are accustomed to the local environment and cannot understand the mechanism of the server hierarchy, "I do not know where to place the application", "I do not know how to specify the path on the server". However, if young people who enter the field do not know how to move the hierarchy in the server, there may be more situations where they miss the chance to get a job because they teach too much from the beginning. Even if you build it on a server, you do not need a physical server by yourself, so you can set up a virtual server on VMware etc. and build it on your own PC.
If you only have the procedure, you can build a virtual server and PostgreSQL database in the article linked below. → *** [For beginners] I will explain from the beginning until PostgreSQL built on the server can be used with tools from Windows. ***
Also, I learned the basic knowledge of servers in this book. It's easier to understand than suddenly starting from learning LPIC, etc., and the basics can be managed with this. → *** [Book to learn the basics of LPIC in one week](https://www.amazon.co.jp/1%E9%80%B1%E9%96%93%E3%81%A7LPIC%E3% 81% AE% E5% 9F% BA% E7% A4% 8E% E3% 81% 8C% E5% AD% A6% E3% 81% B9% E3% 82% 8B% E6% 9C% AC-% E7% AC % AC2% E7% 89% 88-% E5% BE% B9% E5% BA% 95% E6% 94% BB% E7% 95% A5% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B3% B6-% E8% 83% BD% E5% 92% 8C-ebook / dp / B00IWNEWS8 / ref = sr_1_1? Ie = UTF8 & qid = 1544345126 & sr = 8-1 & keywords = 1% E9% 80% B1% E9% 96% 93% E3% 81% A7lpic% E3% 81% AE% E5% 9F% BA% E7% A4% 8E% E3% 81% 8C% E5% AD% A6% E3% 81% B9% E3% 82% 8B% E6% 9C% AC) ***
If you can build a DB environment on the server, you can refer to the JDBC mechanism and usage at the following site. →***TECHSCORE JDBC(java.sql, javax.sql)***
By learning this mechanism, you can understand the mechanism of the web application and see the whole picture of the web application. Learning around the circle in the movement of the server. There are many things to learn, such as the basic grammar of html, how to publish web pages, how to create dynamic pages, and how to develop. At this point, the development results while looking at the browser, such as the output results to the browser, are developed, which is very fun for me personally.
Click here for the text I am using. It also describes how to use Eclipse and how to deploy it to a web server. → *** [Introduction to Servlet & JSP that you can understand clearly](https://www.amazon.co.jp/dp/4844335804/ref=asc_df_48443358042545974/?tag=jpgo-22&creative=9303&creativeASIN=4844335804&linkCode=df0&hvadid=295719984664&hvpos=1o1 = 10985391328792357083 & hvpone = & hvptwo = & hvqmt = & hvdev = c & hvdvcmdl = & hvlocint = & hvlocphy = 1009333 & hvtargid = pla-524758681562 & th = 1 & psc = 1) ***
I didn't touch on frameworks, but I think it's a good idea to learn the frameworks you want to use as needed. This concludes the explanation of the mechanism of web applications and the learning order, but did you see the path to developing web applications in Java? It may take some time to do everything, but seeing the goal and not seeing it can make a big difference in terms of feelings. Also, it takes time to learn the technology and make something that can be used, but I think that the technology that I have spent time learning will be the power to be useful in the field.
Let's continue together without rotting. Thank you for reading.