ASP Introduction
ASP is a powerful tool for making dynamic and interactive Web pages.
In our ASP tutorial you will learn about ASP, and how to execute scripts on your server.
An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are executed on the server.
What you should already know
Before you continue you should have some basic understanding of the following:
* HTML / XHTML
* A scripting language like JavaScript or VBScript
If you want to study these subjects first, find the tutorials on our Home page.
What is ASP?
* ASP stands for Active Server Pages
* ASP is a Microsoft Technology
* ASP is a program that runs inside IIS
* IIS stands for Internet Information Services
* IIS comes as a free component with Windows 2000
* IIS is also a part of the Windows NT 4.0 Option Pack
* The Option Pack can be downloaded from Microsoft
* PWS is a smaller - but fully functional - version of IIS
* PWS can be found on your Windows 95/98 CD
ASP Compatibility
* To run IIS you must have Windows NT 4.0 or later
* To run PWS you must have Windows 95 or later
* ChiliASP is a technology that runs ASP without Windows OS
* InstantASP is another technology that runs ASP without Windows
What is an ASP File?
* An ASP file is just the same as an HTML file
* An ASP file can contain text, HTML, XML, and scripts
* Scripts in an ASP file are executed on the server
* An ASP file has the file extension ".asp"
How Does ASP Differ from HTML?
* When a browser requests an HTML file, the server returns the file
* When a browser requests an ASP file, IIS passes the request to the ASP engine. The ASP engine reads the ASP file, line by line, and executes the scripts in the file. Finally, the ASP file is returned to the browser as plain HTML
What can ASP do for you?
* Dynamically edit, change, or add any content of a Web page
* Respond to user queries or data submitted from HTML forms
* Access any data or databases and return the results to a browser
* Customize a Web page to make it more useful for individual users
* The advantages of using ASP instead of CGI and Perl, are those of simplicity and speed
* Provide security - since ASP code cannot be viewed from the browser
* Clever ASP programming can minimize the network traffic
Note Note: Because ASP scripts are executed on the server, the browser that displays the ASP file does not need to support scripting at all!
You can run ASP on your own PC.
Your Windows PC as a Web Server
* Your own PC can act as a web server if you install IIS or PWS
* IIS or PWS turns your computer into a web server
* Microsoft IIS and PWS are free web server components
IIS - Internet Information Server
IIS is a set of Internet-based services for servers created by Microsoft for use with Microsoft Windows.
IIS comes with Windows 2000, XP, and Vista. It is also available for Windows NT.
IIS is easy to install and ideal for developing and testing web applications.
PWS - Personal Web Server
PWS is for older Windows system like Windows 95, 98, and NT.
PWS is easy to install and can be used for developing and testing web applications including ASP.
We don't recommend running PWS for anything else than training. It is outdated and has security issues.
Windows Web Server Versions
* Windows Vista Business, Enterprise and Ultimate come with IIS 7
* Windows Vista Home Premium comes with IIS 7
* Windows Vista Home Edition does not support PWS or IIS
* Windows XP Professional comes with IIS 5.1
* Windows XP Home Edition does not support IIS or PWS
* Windows 2000 Professional comes with IIS 5.0
* Windows NT Professional comes with IIS 3 and also supports IIS 4
* Windows NT Workstation supports PWS and IIS 3
* Windows ME does not support PWS or IIS
* Windows 98 comes with PWS
* Windows 95 supports PWS
How to Install IIS on Windows Vista
Follow these steps to install IIS on Windows Vista:
1. Open the Control Panel from the Start menu
2. Double-click Programs and Features
3. Click "Turn Windows features on or off" (a link to the left)
4. Select the check box for Internet Information Services (IIS), and click OK
After you have installed IIS, make sure you install all patches for bugs and security problems. (Run Windows Update).
How to Install IIS on Windows XP and Windows 2000
Follow these steps to install IIS on Windows XP and Windows 2000:
1. On the Start menu, click Settings and select Control Panel
2. Double-click Add or Remove Programs
3. Click Add/Remove Windows Components
4. Click Internet Information Services (IIS)
5. Click Details
6. Select the check box for World Wide Web Service, and click OK
7. In Windows Component selection, click Next to install IIS
After you have installed IIS, make sure you install all patches for bugs and security problems. (Run Windows Update).
Test Your Web
After you have installed IIS or PWS follow these steps:
1. Look for a new folder called Inetpub on your hard drive
2. Open the Inetpub folder, and find a folder named wwwroot
3. Create a new folder, like "MyWeb", under wwwroot
4. Write some ASP code and save the file as "test1.asp" in the new folder
5. Make sure your Web server is running (see below)
6. Open your browser and type "http://localhost/MyWeb/test1.asp", to view your first web page
Note: Look for the IIS (or PWS) symbol in your start menu or task bar. The program has functions for starting and stopping the web server, disable and enable ASP, and much more.
How to install PWS on Windows 95, 98, and Windows NT
For Windows 98: Open the Add-ons folder on your Windows CD, find the PWS folder and run setup.exe to install PWS.
For Windows 95 or Windows NT: Download "Windows NT 4.0 Option Pack" from Microsoft, and install PWS.
Test your web as described above.
How to install IIS on Windows Server 2003
1. When you start the Windows Server 2003, you should see the Manage Your Server wizard
2. If the wizard is not displayed, go to Administrative Tools, and select Manage Your Server
3. In the wizard, click Add or Remove a Role, click Next
4. Select Custom Configuration, click Next
5. Select Application Server role, click Next
6. Select Enable ASP.NET, click Next
7. Now, the wizard may ask for the Server 2003 CD. Insert the CD and let it run until it is finished, then click the Finish button
8. The wizard should now show the Application Server role installed
9. Click on Manage This Application Server to bring up the Application Server Management Console (MMC)
10. Expand the Internet Information Services (IIS) Manager, then expand your server, and then the Web Sites folder
11. You should see the Default Web Site, and it should not say (Stopped)
12. IIS is running!
13. In the Internet Information Services (IIS) Manager click on the Web Service Extensions folder
14. Here you will see that Active Server Pages are Prohibited (this is the default configuration of IIS 6)
15. Highlight Active Server Pages and click the Allow button
16. ASP is now active!
In our ASP tutorial, every example shows the hidden ASP source code. This will make it easier for you to understand how it works.
Write Output to a Browser
An ASP file normally contains HTML tags, just like an HTML file. However, an ASP file can also contain server scripts, surrounded by the delimiters .
Server scripts are executed on the server, and can contain any expressions, statements, procedures, or operators valid for the scripting language you prefer to use.
The response.write Command
The response.write command is used to write output to a browser. The following example sends the text "Hello World" to the browser:
Example
There is also a shorthand method for the response.write command. The following example also sends the text "Hello World" to the browser:
Example
Using VBScript in ASP
You can use several scripting languages in ASP. However, the default scripting language is VBScript:
The example above writes "Hello World!" into the body of the document.
Using JavaScript in ASP
To set JavaScript as the default scripting language for a particular page you must insert a language specification at the top of the page:
Note: JavaScript is case sensitive! You will have to write your ASP code with uppercase letters and lowercase letters when the language requires it.
Other Scripting Languages
ASP is shipped with VBScript and JScript (Microsoft's implementation of JavaScript). If you want to script in another language, like PERL, REXX, or Python, you will have to install script engines for them.
A variable is used to store information.
Lifetime of Variables
A variable declared outside a procedure can be accessed and changed by any script in the ASP file.
A variable declared inside a procedure is created and destroyed every time the procedure is executed. No scripts outside the procedure can access or change the variable.
To declare variables accessible to more than one ASP file, declare them as session variables or application variables.
Session Variables
Session variables are used to store information about ONE single user, and are available to all pages in one application. Typically information stored in session variables are name, id, and preferences.
Application Variables
Application variables are also available to all pages in one application. Application variables are used to store information about ALL users in one specific application.
In ASP you can call a JavaScript procedure from a VBScript and vice versa.
Procedures
The ASP source code can contain procedures and functions:
Example
Result:
Insert the line above the tag to write the procedure/function in another scripting language:
Example
Result:
Differences Between VBScript and JavaScript
When calling a VBScript or a JavaScript procedure from an ASP file written in VBScript, you can use the "call" keyword followed by the procedure name. If a procedure requires parameters, the parameter list must be enclosed in parentheses when using the "call" keyword. If you omit the "call" keyword, the parameter list must not be enclosed in parentheses. If the procedure has no parameters, the parentheses are optional.
When calling a JavaScript or a VBScript procedure from an ASP file written in JavaScript, always use parentheses after the procedure name.
ASP Forms and User Input
User Input
The Request object can be used to retrieve user information from forms.
Example HTML form
User input can be retrieved with the Request.QueryString or Request.Form command.
Request.QueryString
The Request.QueryString command is used to collect values in a form with method="get".
Information sent from a form with the GET method is visible to everyone (it will be displayed in the browser's address bar) and has limits on the amount of information to send.
If a user typed "Bill" and "Gates" in the HTML form above, the URL sent to the server would look like this:
http://www.w3schools.com/simpleform.asp?fname=Bill&lname=Gates
Assume that "simpleform.asp" contains the following ASP script:
Welcome
The browser will display the following in the body of the document:
Welcome Bill Gates
Request.Form
The Request.Form command is used to collect values in a form with method="post".
Information sent from a form with the POST method is invisible to others and has no limits on the amount of information to send.
If a user typed "Bill" and "Gates" in the HTML form above, the URL sent to the server would look like this:
http://www.w3schools.com/simpleform.asp
Assume that "simpleform.asp" contains the following ASP script:
Welcome
The browser will display the following in the body of the document:
Welcome Bill Gates
Form Validation
User input should be validated on the browser whenever possible (by client scripts). Browser validation is faster and reduces the server load.
You should consider server validation if the user input will be inserted into a database. A good way to validate a form on the server is to post the form to itself, instead of jumping to a different page. The user will then get the error messages on the same page as the form. This makes it easier to discover the error.
ASP Cookies
What is a Cookie?
A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer. Each time the same computer requests a page with a browser, it will send the cookie too. With ASP, you can both create and retrieve cookie values.
How to Create a Cookie?
The "Response.Cookies" command is used to create cookies.
Note: The Response.Cookies command must appear BEFORE the tag.
In the example below, we will create a cookie named "firstname" and assign the value "Alex" to it:
It is also possible to assign properties to a cookie, like setting a date when the cookie should expire:
How to Retrieve a Cookie Value?
The "Request.Cookies" command is used to retrieve a cookie value.
In the example below, we retrieve the value of the cookie named "firstname" and display it on a page:
Output: Firstname=Alex
A Cookie with Keys
If a cookie contains a collection of multiple values, we say that the cookie has Keys.
In the example below, we will create a cookie collection named "user". The "user" cookie has Keys that contains information about a user:
Read all Cookies
Look at the following code:
Assume that your server has sent all the cookies above to a user.
Now we want to read all the cookies sent to a user. The example below shows how to do it (note that the code below checks if a cookie has Keys with the HasKeys property):
Output:
firstname=Alex
user:firstname=John
user:lastname=Smith
user:country=Norway
user:age=25
What if a Browser Does NOT Support Cookies?
If your application deals with browsers that do not support cookies, you will have to use other methods to pass information from one page to another in your application. There are two ways of doing this:
1. Add parameters to a URL
You can add parameters to a URL:
Go to Welcome Page
And retrieve the values in the "welcome.asp" file like this:
2. Use a form
You can use a form. The form passes the user input to "welcome.asp" when the user clicks on the Submit button:
Retrieve the values in the "welcome.asp" file like this:
ASP Session Object
A Session object stores information about, or change settings for a user session.
The Session object
When you are working with an application on your computer, you open it, do some changes and then you close it. This is much like a Session. The computer knows who you are. It knows when you open the application and when you close it. However, on the internet there is one problem: the web server does not know who you are and what you do, because the HTTP address doesn't maintain state.
ASP solves this problem by creating a unique cookie for each user. The cookie is sent to the user's computer and it contains information that identifies the user. This interface is called the Session object.
The Session object stores information about, or change settings for a user session.
Variables stored in a Session object hold information about one single user, and are available to all pages in one application. Common information stored in session variables are name, id, and preferences. The server creates a new Session object for each new user, and destroys the Session object when the session expires.
When does a Session Start?
A session starts when:
* A new user requests an ASP file, and the Global.asa file includes a Session_OnStart procedure
* A value is stored in a Session variable
* A user requests an ASP file, and the Global.asa file uses the
well done
ReplyDelete