dcsimg

Explaining Objects in ASP

By ServerWatch Staff (Send Email)
Posted Dec 28, 1998


by Ajoy Krishnamoorthy

The World is talking about component development, ActiveX controls, COM etc. We being an IT professional, need to upgrade our skills with all these technologies. Although there is a very little need for developing our own components, using the existing components is a good choice . This articles gives you in-depth information about various objects like Response, Request, Session in ASP. This will help you in understanding the objects that comes with ASP. The article explains the Objects with sample codes.

For instance, in Web development, it started with information publishing using HTML. Then people got bored of static content. This forced us to give some dynamic behaviour to the site. We started adding interactive features and now we have come to a stage of developing data intensive application over the web. And we cannot rely on the scripts alone to deliver all goods for us. There is a strong urge to reduce the repetitive tasks.

Precisely,in any database application, we need to have forms to get data from the user.(For eg. the userform in the sample application of previous article Easy steps to build Web Application using ASP.)

Likewise, we also need to send some data back to the user. It might be search result or account information or for that matter anything. But everyone agrees that we need to implement a get and send method in all our applications - A repetitive task.

The solution is to use Objects to reduce these repetitive tasks. An object is a collection of functionality and information. ASP has given us a handfull of Intrinsic Objects.

Intrinsic Objects

Object Used For
Request Getting information from the User
Response Sending information to the User
Session Storing information about a User's Session
Application Sharing information for the entire application
Server Accessing the server resources


Request Object

This object is mainly used to retrieve the information from the from in a HTML Page.

The Request Object has the following Collections:

  • Form - To access value from a form submitted using POST method.
  • QueryString - To access varibales sent with URL after "?" or from a from submitted using GET method.
  • Cookies - To access the value of a Cookie.
  • ServerVariables - To access information from HTTP Headers.

The syntax to access the variables of any of these collections is Request.Collections("Variables").

But, you can also use Request("Variables") instead.

When we use the Form collection, we need to pass the name of the element that we create in HTML Form as the Variable to the Request Object.

For example:

If you have created a text box like one below:

<input type="text" name="Text1" value="">

then, your request statement should be,

Request.Form("Text1") or Request("Text1").

Likewise, when using Querystring you need to pass the variable name used in the URL or the name of the element specified in the form.(See the eg. below)

We can use the cookies collection to retrieve any cookies values set before. Again the variable should be the variable name used to set cookie value.

The last collection in the Request Object is ServerVariable. This is used to access the information from the HTTP headers like the remote user IP address, TCP/IP server port etc. We have a set of pre defined variables to pass with the request object.

Example:

In the below form, enter values in the name and email text box and click the Submit button,to see how request object is working.

Name :
EMail :

  


Response Object

This object is used to send information to the user ( i.e. to the browser).

The most used methods of Response object are:

  • Write - Used to send information to be displayed on the browser.
  • Redirect - Used to send the user to a new Page.

The syntax to use these method is Response.Method

Eg: Response.Redirect("newpage.html")

The following statement will write the string inside paranthesis on the browser screen.

Statement

<% Response.Write("<font color=red>Text from Write Method</font>")%>

Output

Text from Write Method


Session Object

This object is used to store information with a scope to that user session. The information stored are maintained even when the user moves through various pages in the web application.

The session object has two properties.

  • SessionID - Created by the web application and sent as a cookie to client.
  • TimeOut - To set Session timeout period.

The session object has one method, Abandon. This method is used to explicitly close the session and hence destroying the session object.

You can create new variables with session scope using the following syntax:

Session("Variablename")=Value

And the same can be referred using the following syntax:

Session("Variablename").

The data you entered in the form(name and email) of previous example is stored has session variables.

The values entered in the previous form are:(if you have not entered any values you will see "Please enter values for the name and email field in the form" message).

Please enter values for the name and email field in the form.

I have stored the values has <%Session("Name")%> and <%Session("EMail")%> in the previous form. And for retrieving i use the same syntax , but with a "=" symbol prefix.

Click the below button to close the session. This will clear the session variables set earlier.Here, I am using the Session.Abandon Method to destroy the session object.

Since the values are cleared, it will display "Please enter values for name and email field in the previous form" message.


Application Object

This object is used to share information among the users of the web application. The variable becomes alive, when the first request to the application comes in.

This object is typically used to create variables that need to maintain application level scope.

The Application object has the following methods:

  • Lock- To Lock the variable
  • Unlock - To unlock the variable

Since the application variables can be accessed by all the users of the application, the lock and unlock method is used to avoid more than one user accessing the same variable.

You can create new variables with Application scope using the following syntax:

Application("Variablename")=Value.

And the same can be referred using the following syntax:

Application("Variablename").

For every set of data you enter in the form(name and email) of previous example, we have stored a counter. This counter is stored as an Application variable. This is common to the entire application.

See the Total number of Records entered below:

Total number of Records entered so far:

Enter new values in the previous form and submit the same. Then see the value in above line being incremented.

I am using Application("NumValues") to store the value and increment it by one for every set of data you enter. Before incrementing I use Application.Lock method and after incrementing I use Application.UnLock method.

This is how an Application variable is useful.


Server Object

This object gives access to Server components,its methods and properties.

This object has the following methods:

  • CreateObject - An important method used to create instance of Server Components
  • HTMLEncode - To HTML encode a string passed
  • URLEncode - To URL encode the string.

The CreateObject is a very important method and it is widely used in most ASP Pages.The syntax to use any of these methods is Server.Method.

For Eg:

Server.CreateObject("ADODB.Connection")

If you remember, ASP can use any of the Active Server Components registered on the server. And we have a set of Active Server Components with IIS. We use Createobject method to access this components.

There are components like Data Access Component, Browser Capabilities Component, Ad Rotator Component etc.

Each component exposes certain objects and methods. We can use these methods in our ASP Pages.

For instance let us see how we can utilise the Browser Capabilities Component.

We will use the Server.CreateObject method to access various methods and properties of Browser Capabilites component.

Browser Capabilites Component is used to find out the capabilities of the browser. We can verify the capabilites of the browser and deliver content based on its capabilities. For example, we can verify whether a browser supports frames or not and depending on the result, you can direct the user to a page with frames or to a page without frames. (Use response.redirect method to direct the users different pages.Hope you remember this method.)

The below table displays the capabilites of your browser:

Property Result
Browser Type Netscape
Version 4.00
Frames True
Tables True
Cookies True
JavaScript True
VBScript False
ActiveX unknown

Source

<%Set myb= Server.CreateObject("MSWC.BrowserType")%>
<table border=2 bordercolor="#000080">
<THEAD>
<tr>
<th>Property</th><th>Result</th>
</tr>
</THEAD>
<TBODY>
<tr>
<td>Browser Type</td><td><%=myb.Browser%></td>
</tr>
<tr>
<td>Version</td><td><%=myb.Version%></td>
</tr>
<tr>
<td>Frames</td><td><%=myb.Frames%></td>
</tr>
<tr>
<td>Tables</td><td><%=myb.Tables%></td>
</tr>
<tr>
<td>Cookies</td><td><%=myb.Cookies%></td>
</tr>
<tr>
<td>JavaScript</td><td><%=myb.Javascript%></td>
</tr>
<tr>
<td>VBScript</td><td><%=myb.VBScript%></td>
</tr>
<tr>
<td>ActiveX</td><td><%=myb.ActiveX%></td>
</tr>
</tbody>
</table>

The first line of the source creates an instance of the Browser Capabilites component. Then I am using the various properties of this component and displaying its value in a table.

Similarly, we can use any of the components installed with the server or we can create our own active server component and use them in our ASP pages.

The opportunity to reuse any of the server components set the stage open for ASP developers to build their own component and use them, thus leaving only your imagination as a limit.

You can download all the source code used including this article from here.

Ajoy Krishnamoorthy

Page 1 of 2


Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.


 

 


Thanks for your registration, follow us on our social networks to keep up-to-date