Comparing the two web development technologies of PHP and JSP, in the current situation, it is actually comparing the web development of PHP and Java. The following is a comparison I made on several main aspects:
1. Language comparison
PHP is a server script language that interprets and executes. First of all, php is simple and easy to use. The syntax is similar to that of C language, so programmers who have learned C language can quickly become familiar with PHP development. In Java, you need to first learn the syntax of Java, be familiar with some core class libraries, and understand object-oriented programming methods. Therefore, Java is not as easy to learn as PHP.
Java must first be compiled into a bytecode .class file, and then interpreted and executed on the java virtual machine. The first and easiest thing to think of in Java Web development is JSP (now JSP2.0). The original Java Web development was implemented with servlets. Using servlets to develop requires programmers to embed a large number of elements in the Java source files. html code. So JSP appeared later. JSP can be easily embedded into HTML files. In fact, when the jsp file is executed on the server, it will first be converted into a servlet by the application server, and then compiled and executed. Jsp can produce powerful functions through the support of servlets and JavaBeans. JavaBean is a reusable, cross-platform software component. Using javabean can easily realize the separation of java code and html, which can enhance the function of the system and the reusability of the software.
Web development in Java belongs to the J2EE specifications defined by SUN. And J2EE includes all aspects of Java's Web development, such as: JSP, Servlet, JDBC, JNDI, JAVABEAN, EJB, etc. J2EE is particularly suitable for large-scale enterprise-level applications.
2. Database access comparison
Java accesses the database through JDBC, and can easily access the database through database drivers provided by different database vendors. The interface for accessing the database is relatively unified.
PHP uses different database access interfaces for different databases, so the database access code is not very versatile. For example: a web application developed in Java only needs very few modifications to be transferred from a MySQL database to an Oracle database. PHP requires a lot of modification work.
3. Comparison of system design architecture
Using Java's Web development technology requires the use of object-oriented system design methods, while PHP still uses process-oriented development methods. Therefore, a lot of system analysis and design work needs to be done in the early stage of development using Java.
4. Cross-platform
Both Java and PHP have good cross-platform features. Almost all of them can run on different operating systems such as Linux or Windows without any modifications.
5. Development cost comparison
The most classic combination of PHP is: PHP + MySQL + Apache. It is very suitable for developing small and medium-sized Web applications, and the development speed is relatively fast. And all software is open source and free, which can reduce investment.
Java web application servers include free Tomcat, JBoss, etc. If you need better commercial services: Web Sphere and Web logic.
6. Comparison of distributed multi-layer architecture
PHP can only implement a simple distributed two- or three-layer architecture, while JAVA is relatively powerful in this regard and can implement a multi-layer network architecture. The database layer (persistence layer), application (business) logic layer, and presentation logic layer are separated from each other, and now different layers are supported by some mature development frameworks. For example, Struts uses Java's Web development technology to implement the MVC design pattern. There is also the Spring framework in the business logic layer, and Hibernate and other frameworks in the database persistence layer. These frameworks can facilitate developers to construct multi-layer commercial applications efficiently, reasonably and scientifically.
Let’s briefly talk about Struts. It is essentially an MVC (Model, View, Controller) framework implemented on the basis of JSP Model2. JSP Model2 architecture is a method of using JSP and Servlets together to provide dynamic content. In the Struts framework, the model is composed of JavaBean or EJB components that implement business logic, the controller is implemented by Servlet, and the view is composed of a set of JSP files. Using Struts can clarify the definition of roles and the division of labor between developers and web designers. And the more complex the project, the more obvious the advantages.
7. Source code security
The source code of programs developed by PHP is public, and others can modify it after getting the program developed by PHP.
For programs developed in Java, what users get in the end are just some compiled classes, and they cannot see the complete source code, so they are highly secure.
8. Performance comparison
Some people have done experiments to do loop performance tests and Oracle database access tests for these two languages.
In the loop performance test, JSP only took an astonishing four seconds to end the 20000*20000 loop. The PHP test was 2000*2000 loops (an order of magnitude less), but each took 63 seconds.
In the database test, the two performed 1000 Insert, Update, Select and Delete on Oracle 8 respectively: JSP took 13 seconds and PHP took 69 seconds.