Home  >  Article  >  Java  >  A brief introduction to servlets in Java

A brief introduction to servlets in Java

黄舟
黄舟Original
2017-07-21 16:18:362004browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn