Recommended routes for java-web-j2e learning, java-web-j2e routes
First, we need to understand three aspects of the Java System Design: J2SE, J2EE, and j2-kjava ). J2SE, Java 2 Platform Standard Edition, JDK we often talk about, mainly refers to this, it is the basis of the three, is a table-level application development, if this part is well learned, it is easy to expand J2EE and j2s. The Micro Edition of the Java 2 Platform. It is mainly used for embedded Java, such as mobile phones and PDAs. J2EE, Java 2 Platform, and Enterprise Edition are so-called Enterprise-level Java and are suitable for large-scale Enterprise application development. J2SE, java Desktop graphic interface application development, Master common Java APIs, etc. (the key is to learn how to check ).
Key points: Java basic syntax (loop structure, data type, array, operator, etc.), Swing, awt, event mechanism, file input/output stream processing, etc.
Difficulties: understanding of object-oriented ideas (interfaces, classes, etc.), threads, socket network programming, etc.
Video tutorial recommendations: Sun Xin's basic Java video tutorial and Zhang Xiaoxiang's basic Java video tutorial are all very detailed, and these two teachers have good experience in teaching.
J2EE:
After learning J2SE, you can try to slowly transition to J2EE. Of course, learning J2EE requires a lot of support from non-JAVA technologies, such as database technology and Web programming technology, I will introduce these two aspects in detail later. J2EE has three required frameworks. If you say you have learned J2EE, but you don't know it, it will make people laugh, these three frameworks are Struts2, Spring, and Hibernate. Although these three frameworks are widely used, they do not represent J2EE. J2EE has many other things, for example, EJB, as a heavyweight (this heavyweight doesn't mean a heavyweight player, this heavyweight is not another heavyweight) framework, although this application is slowly replaced by other frameworks, however, the emergence of EJB3.0 brings back some vitality to it. As a distributed application framework, it is also the knowledge that everyone should learn and understand.
Of course, I mentioned that J2EE has a wide range. Even if I talk about all the technologies I know, it cannot represent J2EE, we need to find out when we are working again later. I also know JDBC: Java database connection object, basic foundation, and Hibernate is just encapsulation of it.
JNDI: Java Naming and Directory Interface, one of the most important J2EE specifications
EJBS: As mentioned above
RMI: supports remote call methods and is mainly used for distributed program development.
JMS: Java Message Service, middleware technology
Java idl: a technology that provides the interaction and interconnection capabilities between the J2EE platform and CORBA.
JTS: component transaction Monitor
JTA: A technology for Transaction Division
JAVAMAIL: Mail technology in Java
JAF: Java startup framework, not studied
Log4j, a log Processing Framework Application
Junit: a good helper for unit testing
Freemarker and velocity: two good template Engines
Interaction with Flash Flex: Currently, many SNS applications use this technology.
Web services: Do you want to know how the weather forecast of our forum works? Please pay attention to this technology
SOA: Service-Oriented Architecture, one of the trends of future technological development
......
However, none of the above is the basis of J2EE and belongs to the Framework application level. to really master the knowledge mentioned above, we still need to learn the core things of J2EE: JDBC, JSP, servlet and JavaBean, the next three are also the basics for learning SSH (Struts \ Spring \ Hibernate ). in view of the complexity of J2EE, we recommend that you only learn about JSP, servlet, and JavaBean at first, and then learn about SSH after you have mastered the basics, if you have a general understanding of other J2EE technologies, you can find a job. Of course, in addition to learning Java well, some other technologies must be mastered.
-_-I am very simple, but Java requires me to learn so many complicated things. In addition to these technologies, at this stage, we are more exposed to things such as design patterns, such as factory models, bridge models, and Singleton models, we also need to learn modeling ideas (such as UML modeling) and software life cycles. These are the methods and ways to subscribe to programming ideas. Database Technology:
The database is almost an indispensable part of the program and plays an important role in the whole software development. databases play the role of foundation in the entire software. To build a house, you must lay the foundation first. To do software, you must first design a database. currently, almost all databases are relational databases, represented:
SQL Server/MySQL --- it doesn't make much sense to learn this.
ORACLE. oracle products, large databases, and genuine general companies cannot afford them. I only have a look, but now Java Development 60% will use this database, and now ORACLE has acquired sun, so the relationship between JAVA and ORACLE is even more ambiguous, you have spent more time on this.
In addition, you should also understand the databases used for desktop application software development, such as sqlite. You can package the database into your installer when creating the installer. WEB programming basics: the basics of WEB programming also require a lot of content, but they are mainly concentrated on the following three technologies. All the web pages of different styles are displayed on a daily basis:
HTML: Hypertext Markup Language
CSS: stacked style sheet
Javascript: browser client scripting language
Nowadays, JavaScript libraries are even more popular, such as Jquery and ExtJs. If you use a library, you can find a job to make it easy. J2EE:
If you are not familiar with the above technologies, you can study the development of mobile phone programs. In my personal opinion, the development of mobile phone programs is actually quite simple, and the difficulty lies in optimization, for example, how to make the program you write to save the amount of mobile phone resources, "the code is valuable, the mobile phone price is higher", so you have to consider a lot of cost and practicality problems than the PC. Instead of testing on the simulator, you must test on a real machine. The effects of the real machine and the simulator are quite different. More mobile phone development technologies can be discussed with me if you are interested. Development tools:
The choice of development tools is mainly based on your habits. I personally prefer to use eclispe, which has powerful functions and extends other functions. For beginners, you can also choose JCreator, or use Notepad directly. After you are familiar with the Java code, you can use tools such as JBuilder, eclispe, and netbeans.