JSP nine large built-in objects and four scopes

Source: Internet
Author: User
Tags stack trace unique id

See some of the online JSP built-in objects are not very full, today I put the great God's finishing a bit.

JSP nine large objects: built-in objects (also known as hidden objects, there are 9 built-in objects): No need to pre-declaration can be used in script code and expressions.

The Request object: represents the requests from the client, such as the information we fill out in the form form, etc., is the most commonly used object. The client's request information is encapsulated in the requests object to understand the customer's needs and respond. It is an instance of the HttpServletRequest class. The scope is request (user demand period).

Common methods:

1 Object getattribute (String name) returns the property value of the specified property

2 enumeration Getattributenames () returns an enumeration of all available property names

3 String getcharacterencoding () returns the character encoding method

4 int Getcontentlength () returns the length of the request body (in bytes)

5 String getContentType () Gets the MIME type of the request body

6 ServletInputStream getInputStream () gets the binary stream of a row in the request body

7 string GetParameter (string name) returns the parameter value of name specified parameter

8 enumeration Getparameternames () returns an enumeration of the available parameter names

9 string[] Getparametervalues (String name) returns an array of all values that contain the parameter name

Ten String Getprotocol () returns the protocol type and version number of the request

One String Getscheme () returns the plan name of the request, such as: Http.https and FTP, etc.

String getServerName () returns the host name of the server that accepts the request

int Getserverport () returns the port number used by the server to accept this request

BufferedReader Getreader () returns the decoded request body

String getremoteaddr () returns the IP address of the client that sent this request

String Getremotehost () returns the host name of the client that sent this request

$ void SetAttribute (String key,object obj) to set property values for a property

String Getrealpath (string path) returns the true path of a virtual path

Response object: The object represents the response to the client, which means that the data sent to the client can be organized through the response object. However, due to the organization of the lower level, it is not recommended for ordinary readers, need to send text to the client directly to use. It is an instance of the HttpServletResponse class. A scope is page (page execution period).

Common methods:

1 String getcharacterencoding () returns what character encoding is used for the response

2 Servletoutputstream Getoutputstream () returns a binary output stream of the response

3 PrintWriter getwriter () returns an object that can output characters to the client

4 void setcontentlength (int len) Set response header length

5 void setContentType (String type) sets the MIME type of the response

6 Sendredirect (Java.lang.String location) REDIRECT client request

Third, Session object: Refers to the client and the server of a conversation, from the customer to a server WebApplication start, until the client disconnects from the server. It is an instance of the HttpSession class. Scope session (session period-).

Common methods:

1 long GetCreationTime () returns session creation time

2 public String GetId () returns the unique ID number that the JSP engine sets for the session when it is created

3 Long Getlastaccessedtime () returns the client's last request time in this session

4 int Getmaxinactiveinterval () returns two request interval how long this session was canceled (MS)

5 string[] GetValueNames () returns an array containing all the properties available in this session

6 void Invalidate () Cancel session to make session unavailable

7 Boolean isnew () returns a session created by the server, whether the client has joined

8 void RemoveValue (String name) removes the attribute specified in session

9 void Setmaxinactiveinterval () set two request interval how long this session is canceled (MS)

The Out object: An Out object is an instance of the JspWriter class and is an object commonly used to output content to the client. Scope is page (page execution period)

Common methods:

1 void Clear () clears the contents of the buffer

2 void Clearbuffer () clears the current contents of the buffer

3 void Flush () empty stream

4 int GetBufferSize () returns the buffer as the size of the number of bytes, or 0 if no buffer is set

5 int getremaining () returns how much of the buffer is remaining available

6 Boolean Isautoflush () returns when the buffer is full, automatically empties or throws an exception

7 void Close () close the output stream

Page object: The Page object is pointing to the current JSP page itself, a bit like the this pointer in the class, which is an instance of the Java.lang.Object class. The "Page" object represents a running class object produced by a JSP file and is not recommended for general audiences. Scope page

Common methods:

1 class GetClass Returns the classes of this object

2 int hashcode () returns the hash code of this object

3 Boolean equals (Object obj) to determine whether this object is equal to the specified object objects

4 void Copy (object obj) copies this object to the specified object

5 Object Clone () to clone this object

6 string toString () converts this object to the object of the String class

7 void Notify () wakes up a waiting thread

8 void Notifyall () wakes up all waiting threads

9 void Wait (int timeout) causes a thread to wait until timeout ends or is awakened

Ten void Wait () causes a thread to wait until it wakes up

one void Entermonitor () lock on object

void Exitmonitor () to unlock object

VI, Application object: To realize the sharing of data between users, can store global variables. It starts at the start of the server until the server shuts down, during which time this object will persist, so that the same properties of the object can be manipulated on the user's back-and-forth connection or in a connection between different users, and the operation of this object property anywhere will affect access to it by other users. The startup and shutdown of the server determines the life of the Application object. It is an instance of the ServletContext class. Scope application

Common methods:

1 Object getattribute (String name) returns the property value for the given name

2 enumeration Getattributenames () returns an enumeration of all available property names

3 void SetAttribute (String name,object obj) sets the property value of the property

4 void RemoveAttribute (String name) deletes an attribute and its property value

5 String Getserverinfo () returns the JSP (SERVLET) engine name and version number

6 string Getrealpath (string path) returns the true path of a virtual path

7 ServletContext getcontext (String uripath) returns the Application object for the specified WebApplication

8 int Getmajorversion () returns the maximum version number of the Servlet API supported by the server

9 int getminorversion () returns the maximum version number of the Servlet API supported by the server

Ten string GetMimeType (string file) returns the MIME type of the specified file

One-by-one URL getresource (String path) returns the URL path for the specified resource (file and directory)

InputStream getResourceAsStream (String path) returns the input stream for the specified resource

RequestDispatcher Getrequestdispatcher (String uripath) returns the RequestDispatcher object for the specified resource

Getservlet servlet (String name) returns the servlet of the specified name

Enumeration Getservlets () returns an enumeration of all Servlets

Enumeration Getservletnames () returns an enumeration of all servlet names

$ void log (String msg) writes the specified message to the servlet's log file

void log (Exception exception,string msg) writes the stack trace and error message of the specified exception to the servlet's log file

void log (String msg,throwable throwable) writes the description information of the stack trajectory and the given Throwable exception to the servlet's log file

The PageContext object provides access to all objects and namespaces within the JSP page, which means that he can access the session where this page is located, or a property value of the application on which it is located, which is equivalent to the synthesizer of all the functions in the page. Its class name is also called PageContext. Pageconfig objects with Fields

Common methods:

1 JspWriter getout () returns the current client response used by the JspWriter stream (out)

2 HttpSession getsession () returns the HttpSession object (session) in the current page

3 Object GetPage () returns the current page of Object Objects (page)

4 ServletRequest Getrequest () returns the ServletRequest object of the current page (request)

5 Servletresponse GetResponse () returns the Servletresponse object of the current page (response)

6 Exception GetException () returns the Exception object of the current page (Exception)

7 ServletConfig Getservletconfig () returns the ServletConfig object (config) of the current page

8 ServletContext Getservletcontext () returns the ServletContext object of the current page (application)

9 void SetAttribute (String name,object attribute) set properties and property values

void SetAttribute (String name,object obj,int scope) sets properties and property values within a specified range

One public Object getattribute (String name) takes the value of the property

Object getattribute (String name,int scope) takes the value of the property within the specified range

Public Object Findattribute (String name) looks for a property that returns the property value or null

+ void RemoveAttribute (String name) to delete a property

void RemoveAttribute (String name,int scope) Deletes a property at the specified range

Getattributescope Int (String name) returns the scope of a property

Enumeration Getattributenamesinscope (int scope) Returns the property name enumeration available within the specified range

void release () releases the resources occupied by PageContext

Forward (String Relativeurlpath) to redirect the current page to another page

void include (String relativeurlpath) contains another file at the current location

The Config object: The Config object is used by the JSP engine to pass information to it when a servlet is initialized. This information includes the parameters to be used when the servlet initializes (through property names and property values) and information about the server (by passing a ServletContext object). Scope Page

Common methods:

1 ServletContext getservletcontext () returns ServletContext object containing information about the server

2 string Getinitparameter (string name) returns the value of the initialization parameter

3 enumeration Getinitparameternames () returns an enumeration of all parameters required by the servlet initialization

Nine, exception object: Is an exception object, when a page in the process of running an exception occurs, the object is generated. If a JSP page is to be applied to this object, the Iserrorpage must be set to true, otherwise it cannot be compiled. He is actually an object of java.lang.Throwable. Scope page

Common methods:

1 String getMessage () returns a message describing the exception

2 String toString () returns a short description message about the exception

3 void Printstacktrace () shows anomalies and their stack traces

4 throwable fillinstacktrace () Rewrite the exception's execution stack trajectory

The nine large built-in objects in the JSP are:
  • Request object Type Javax.servlet.ServletRequest Scope request
  • Response Response Object Type Javax.servlet.SrvletResponse scope Page
  • PageContext page Context object type Javax.servlet.jsp.PageContext Scope page
  • Session object type Javax.servlet.http.HttpSession scope session
  • Application Application Object type Javax.servlet.ServletContext scope application
  • Out output Object type Javax.servlet.jsp.JspWriter scope Page
  • Config configuration object Type Javax.servlet.ServletConfig scope Page
  • Page object Type Javax.lang.Object Scope page
  • Exception exception Object type javax.lang.Throwable Scope page

Four scopes:

What is a scope
First let's look at the effect:


The process is like this, when we visit 04-01/index.jsp, respectively, to PageContext, request, session,

Application The variables in four scopes to accumulate. (Of course, the variable is not present, if the variable does not exist, then

Initialize the variable to 1. After the calculation is complete, jump from index.jsp execution forward to test.jsp. One more time in the test.jsp.

Accumulate and then show these four integers.

Judging from the results shown, we can intuitively draw the conclusion that:

The variables in page cannot be passed from index.jsp to test.jsp. As soon as the page jumps, they are gone.

The variables in the request can span two pages before and after forward. But as soon as you refresh the page, they recalculate.

The variables in the session and the application are always cumulative and start to see no difference, as long as you close the browser, restart the browser again to access

On this page, the variables in the session are recalculated.

The variables in the application keep accumulating until you restart Tomcat, otherwise it will keep getting bigger.

The scope specifies the validity period of the variable.

If you put the variable in the PageContext, it means that its scope is page, its valid range is only in the current JSP page.

You can use this variable from the start of placing the variable in PageContext to the end of the JSP page.

If you put the variable in the request, it means that it is scoped to request, and its valid range is the current demand period.

The so-called request period, that is, from the HTTP request initiation, to the end of the server processing, return the entire process of response. In this process, it is possible to make

Jump through multiple JSP pages in a forward way, and you can use this variable on these pages.

If you put the variable in the session, it means that it is scoped to the session, and its valid range is the current one.

The so-called current session refers to the process of opening the browser from the user to the user closing the browser. This process may contain multiple

Request response. In other words, as long as the user does not close the browser, the server has a way to know that these requests are initiated by a person, the entire process is

Referred to as a session, and the variables placed in the session can be used in all requests for the current conversation.

If you put the variable in the application, it means that its scope is application, and its effective range is the entire application.

The entire application is launched from the app to the end of the app. We did not say "boot from server to server shutdown" because a service

Can deploy multiple applications, of course, if you shut down the server, you will shut down all the applications above.

Application The variables in the scope, they survive the longest, and if not manually deleted, they can be used all the time.

Unlike the three above, the variables in the application can be shared by all users. If user A's operation modifies the application

The variable in the user B is given a modified value when it is accessed. This will not happen in any other scope, page, request,

The session is completely isolated, and any modification will not affect the other person's data.

We get the value of the variable using public Object getattribute (String name), using the public void SetAttribute

(String name, Object value) saves the value of the variable to the corresponding scope. An example of PageContext is:

[Java]View PlainCopy  
    1. Page
    2. Integer countpage = (integer) pagecontext.getattribute ("Countpage");
    3. if (countpage = = null) {
    4. Pagecontext.setattribute ("Countpage", 1);
    5. } Else {
    6. Pagecontext.setattribute ("Countpage", Countpage + 1);
    7. }


This first takes the integer named Countpage from the PageContext, because the Java.lang.Object type is returned, so a strong

Transformation into the shaping we need. The variable obtained here will return NULL if it does not exist, by judging countpage = = NULL to distinguish

If no variable exists, set to 1 if it does not exist, accumulate if it exists, and then use the SetAttribute () method to modify the

The value of the variable into PageContext.

Replace the PageContext with request, session, application can manipulate the variables in the other three scopes.

JSP nine large built-in objects and four scopes

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.