Servlet is a server-side programming language and a key component of J2EE. This article will give you a brief introduction to the basic knowledge of servlet. Friends who are interested should take a look.
Servlet is a server-side programming language and a key component of J2EE (in fact, I have learned 13 of the current J2EE I have only come into contact with 3 standards, they are EJB, Servlet, JSP). The introduction of Servlet technology has expanded the functions of Java language in server-side development, consolidated the status of Java language in the server-side development process, and is now used very Extensive JSP technology is also based on the principle of Servlet. JSP+JavaBeanstalk+Servlet has become an effective choice to implement the MVC model.
Introduction to Servlet
Like the JavaBean we learned earlier, Servlet is essentially a Java class. Writing Servlet requires following the basic syntax of Java, but Different from ordinary Java classes, Servlets are Java classes that can only run on the server side, and must follow special specifications and have their own life cycle during operation. These features are unique to Servlets. In addition, Servlet and HTTP protocol are closely related, so using Servlet can handle almost all aspects of the HTTP protocol. This is the biggest reason why Servlet is favored by developers.
Servlet working principle
A simple jsp+servlet login example
JSP page code
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form action="http://127.0.0.1:8080/JavaWebExercise/loginServlet" method="get"> name:<input type="text" name="username"/> <input type="submit" value ="submit"> </form> </body> </html>
LoginServlet code
package com.bjpowernode.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); System.out.println("username="+username); response.setContentType("text/html;charset=UTF-8"); response.getWriter().println(username+" login success"); } @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
Configuration file code
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.bjpowernode.test.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/loginServlet</url-pattern> </servlet-mapping> </web-app>
Detailed explanation of the process
1. Submit the form to Tomcat in the jsp page. The requested url is http://127.0.0.1:8080/JavaWebExercise/loginServlet
2. When the request reaches Tomcat, the server intercepts the URL to obtain the project name requested by the client (here, JavaWebExercise).
3. After finding the project, intercept the corresponding servlet access name according to the url, here is loginServlet.
4. Find the Servlet-name according to loginServlet, here is MyServlet.
5. Find the corresponding class file according to Servlet-name, here is the LoginServlet class under the com.bjpowernode.test package.
6. Use reflection to instantiate the found servlet class.
7. According to the type of request, call the service method in the servlet parent class for distribution.
8. Call the corresponding doGet/doPost according to the distribution of service (here we call the get method) .
9. Get the passed parameter value.
10. Call other javaBeans to complete business logic.
11. Complete the business logic and return to the Servlet.
12. Output the html string
13. Return the html to the Tomcat server
14. Render the page through the obtained html.
The above is the detailed content of A brief introduction to servlets in Java. For more information, please follow other related articles on the PHP Chinese website!