Home  >  Article  >  Java  >  2020 New Java Interview Questions-Java Web (1)

2020 New Java Interview Questions-Java Web (1)

王林
王林forward
2020-06-15 17:12:582520browse

2020 New Java Interview Questions-Java Web (1)

1. What is the difference between jsp and servlet?

jsp becomes a Servlet after compilation. (The essence of JSP is Servlet. JVM can only recognize java classes and cannot recognize JSP code. The Web container compiles the JSP code into something that JVM can Identified java classes)

jsp is better at page display, and servlet is better at logic control.

There are no built-in objects in Servlet. The built-in objects in Jsp must be obtained through the HttpServletRequest object, HttpServletResponse object and HttpServlet object.

Jsp is a simplification of Servlet. Using Jsp only needs to complete the content that the programmer needs to output to the client. How to embed the Java script in Jsp into a class is completed by the Jsp container. Servlet is a complete Java class, and the Service method of this class is used to generate a response to the client.

(Recommended related tutorials: java introductory program)

2. What are the built-in objects of jsp? What are the functions?

JSP has 9 built-in objects:

  • request: encapsulates the client's request, which contains parameters from the GET or POST request;

  • response: Encapsulates the server's response to the client;

  • pageContext: Other objects can be obtained through this object;

  • session: an object that encapsulates a user session;

  • application: an object that encapsulates the server's running environment;

  • out: an output stream object that outputs the server's response ;

  • config: the configuration object of the Web application;

  • page: the JSP page itself (equivalent to this in the Java program);

  • exception: An object that encapsulates the exception thrown by the page.

(Related video tutorial recommendations: java video tutorial)

3. Tell me about the 4 scopes of jsp?

The four scopes in JSP include page, request, session and application. Specifically:

  • page represents the objects related to a page and Attributes.

  • request represents the objects and attributes related to a request issued by the Web client. A request may span multiple pages and involve multiple web components; temporary data that needs to be displayed on the page can be placed in this scope.

  • session represents the objects and attributes related to a session established by a user and the server. Data related to a user should be placed in the user's own session.

  • application represents objects and properties related to the entire Web application. It is essentially a global scope that spans the entire Web application, including multiple pages, requests, and sessions.

#4. What is the difference between session and cookie?

  • Since the HTTP protocol is a stateless protocol, when the server needs to record the user's status, it needs to use some mechanism to identify the specific user. This mechanism is Session. .Typical scenarios such as the shopping cart. When you click the order button, since the HTTP protocol is stateless, it is not known which user operated it. Therefore, the server needs to create a specific Session for the specific user to identify it. This user, and track the user, so that we know how many books are in the shopping cart. This Session is saved on the server side and has a unique identifier. There are many ways to save Session on the server side, including memory, database, and files. Session transfer must also be considered when clustering. In large websites, there is usually a dedicated Session server cluster to save user sessions. At this time, Session information is stored in memory, and some caching services such as Memcached are used. Come and put Session.

  • Think about how the server identifies a specific customer? This is when Cookie appears. Each time an HTTP request is made, the client will send corresponding cookie information to the server. In fact, most applications use cookies to implement session tracking. When a session is created for the first time, the server will tell the client in the HTTP protocol that a session ID needs to be recorded in the cookie. This will be recorded for each subsequent request. The session ID is sent to the server and I know who you are. Someone asked, what should I do if the client's browser disables cookies? Generally, in this case, a technology called URL rewriting is used for session tracking. That is, for each HTTP interaction, a parameter such as sid=xxxxx will be appended to the URL, and the server will use this to identify the user.

  • Cookies can actually be used in some user-friendly scenarios. Imagine that you have logged into a website once, and you don’t want to enter your account again when you log in next time. What should you do? This information can be written into the cookie. When visiting the website, the script of the website page can read this information and automatically fill in the user name for you, which can facilitate the user. This is also the origin of the cookie name, a little sweetness for users. So, to summarize: Session is a data structure saved on the server to track the user's status. This data can be saved in clusters, databases, and files; Cookie is a mechanism for the client to save user information and is used to record Some user information is also a way to implement Session.

#5. Tell me how session works?

In fact, session is a file similar to a hash table that exists on the server. The information we need is stored in it, and we can take it out when we need to use it. It is similar to a large map. The key inside stores the user's sessionid. The user will bring this sessionid when sending a request to the server. At this time, the corresponding value can be extracted from it.

Recommended tutorial: java interview questions

The above is the detailed content of 2020 New Java Interview Questions-Java Web (1). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete