SlideShare ist ein Scribd-Unternehmen logo
1 von 79
SERVER-SIDE DEVELOPMENT An Introduction  01
Overview ,[object Object],[object Object],[object Object],[object Object]
What is server-side development? ,[object Object]
Static vs Dynamic Web Pages ,[object Object],[object Object],[object Object]
Static Web Content
Dynamic Web Content
Dynamic Web Technologies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dynamic Web Technologies ,[object Object],[object Object]
Dynamic Web Technologies (again)
What is  not  a Dynamic Server Technology ,[object Object],[object Object],[object Object],[object Object],<body> <p>Blah blah blah … <script language=&quot;Javascript&quot;> document.write(&quot;This is dynamic client-generated content&quot;); something.InnerHTML = &quot;This is not server-generated&quot;; </script>
What is  not  a Dynamic Server Technology ,[object Object],[object Object],[object Object],[object Object],[object Object]
Types of Dynamic Technology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Direct Output ,[object Object],[object Object],[object Object],[object Object]
Direct Output example public class HelloWorld extends HttpServlet  {  public void doGet(HttpServletRequest request, HttpServletResponse response) {  response.setContentType(&quot;text/html&quot;);  PrintWriter out = response.getWriter();  out.println(&quot;<html>&quot;);  out.println(&quot;<body>&quot;);  out.println(&quot;<head>&quot;);  out.println(&quot;<title>Hello World!</title>&quot;);  out.println(&quot;</head>&quot;);  out.println(&quot;<body>&quot;);  out.println(&quot;<h1>Hello World!</h1>&quot;);  out.println(&quot;</body>&quot;);  out.println(&quot;</html>&quot;); } }
Page Scripting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example PHP Script <?php require_once(&quot;utilities/header.php&quot;); ?> <?php $currentTime =  date(&quot;F j, Y, g:i a&quot;); $colors = array('white','black','red','green','blue','yellow','orange'); ?> <html> <head></head> <body> <form> The time is now  <? echo $currentTime; ?>   <br/> Choose a color: <select> <? for ($i=0; $i<count($colors); $i++) { echo '<option>'; echo $colors[$i]; echo '</option>'; } ?> </select> </form> </body> </html>
Page Scripting ,[object Object],[object Object],[object Object],[object Object]
Hybrid ,[object Object],[object Object],[object Object],[object Object],[object Object]
Hybrid <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head runat=&quot;server&quot;><title>Scrolling Grid</title></head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot;> <div> <h1>GridView</h1>   <asp:GridView ID=&quot;grdvSample&quot; runat=&quot;server&quot; DataSourceID=&quot;myAccess&quot; GridLines=&quot;none&quot; Font-Size=&quot;x-small&quot; Font-Names=&quot;tahoma&quot; BorderColor=&quot;black&quot; BorderWidth=&quot;1&quot;> <HeaderStyle ForeColor=&quot;white&quot; BackColor=&quot;brown&quot; Font-Bold=&quot;true&quot; /> <RowStyle BackColor=&quot;palegoldenrod&quot; /> <AlternatingRowStyle BackColor=&quot;beige&quot; /> </asp:GridView> <asp:AccessDataSource ID=&quot;myAccess&quot; runat=&quot;server&quot; DataFile=&quot;~/App_Data/ModernEyeCatalog.mdb&quot; SelectCommand=&quot;Select ArtistId,LastName,FirstName,Nationality,YearOfBirth,YearOfDeath from Artists&quot; /> </div> </form> </body> </html> public class CustomPaging : System.Web.UI.Page { public void SortGrid( Object o, DataGridSortCommandEventArgs e)  { // determine which column is to be sorted string sortField = e.SortExpression; // we must rebind data using the sort field BindData(sortField); } }
New Approaches to Dynamic Technology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What do you need for server development? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Web Server Software ,[object Object],[object Object],[object Object],[object Object]
ASP.NET Web Server Options ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Visual Studio File Server ,[object Object],[object Object],[object Object],[object Object],[object Object]
Web Server Options ,[object Object],[object Object],[object Object]
Web Server Options
What is ASP.NET? ,[object Object],[object Object],[object Object]
ASP.NET Advantages ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],.NET Framework
The .NET Framework ,[object Object],[object Object],[object Object]
Core Features of .NET ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Framework 3.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Framework 3.5 ,[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Framework 4.0 ,[object Object],[object Object],[object Object],[object Object]
.NET Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],Source: Lam and Tai,  .NET Framework Essentials, 3 rd  Edition  (O'Reilly, 2003).
.NET Components
Language Compilers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How is language interoperability achieved? ,[object Object],[object Object],[object Object],[object Object]
MSIL ,[object Object],[object Object],[object Object],[object Object]
.NET Compilation Process
Assemblies ,[object Object],[object Object]
Assemblies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sample MSIL Assembly ... .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) .ver 1:0:5000:0 } .assembly hello { .hash algorithm 0x00008004 .ver 0:0:0:0 } .module hello.exe // MVID: {F828835E-3705-4238-BCD7-637ACDD33B78} .class private auto ansi beforefieldinit MainApp extends [mscorlib]System.Object { .method public hidebysig static void Main(  ) cil managed { .entrypoint .maxstack  1 ldstr &quot;C# hello world!&quot; call void [mscorlib]System.Console::WriteLine(string) ret } // End of method MainApp::Main .method public hidebysig specialname rtspecialname  instance void .ctor(  ) cil managed { .maxstack  1 ldarg.0 call instance void [mscorlib]System.Object::.ctor(  ) ret } // End of method MainApp::.ctor } // End of class MainApp If we use the IL disassembler ( ildasm.exe ) to turn a binary assembly  into a text assembly, we will see something similar to the following: Metadata MSIL Module
Common Language Runtime (CLR) ,[object Object],[object Object],[object Object]
CLR ,[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Framework Base Class Library  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BCL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Partial .NET Namespaces
.NET Execution ,[object Object],[object Object],[object Object],[object Object],[object Object]
.NET Execution
[object Object],Back to ASP.NET
ASP.NET Versions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ASP.NET MVC ,[object Object],[object Object],[object Object]
ASP.NET Web Forms ,[object Object],[object Object],[object Object]
ASP.NET Web Forms ,[object Object],[object Object],[object Object],[object Object],[object Object]
Web Form Programming Logic ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HelloWorld.aspx Example <%@ Page Language=&quot;C#&quot; %> <!DOCTYPE html PUBLIC … > <script runat=&quot;server&quot;> protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.ToShortDateString(); } </script> <html> <head><title>Hello World Embedded</title></head> <body> <form id=&quot;form1&quot;  runat=&quot;server&quot;  > <h1>Hello World</h1> The date is <em> <asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label> </em> </form> </body> </html> Web server control Code declaration block Necessary to make this a web form Page directive
Code Behind Version <%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot;  CodeFile=&quot;HelloWorldCodeBehind.aspx.cs&quot;  Inherits=&quot;HelloWorldCodeBehind&quot; %> <!DOCTYPE … > <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; > <head> <title>Hello World Code-</title> </head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot; > <h1>Hello World</h1> The date is <em> <asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label> </em> </form> </body> </html> using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public  partial  class  HelloWorldCodeBehind  :  System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.Date.ToString(); } } Page directive HelloWorldCodeBehind.aspx HelloWorldCodeBehind.aspx.cs
Page Directive ,[object Object],[object Object],[object Object],[object Object],[object Object],<%@ Page Language=&quot;C#&quot; %>
<form> element ,[object Object],[object Object],<form id=&quot;form1&quot; runat=&quot;server&quot; > … </form>
<asp:Label> Web Control ,[object Object],[object Object],[object Object],[object Object],[object Object],<asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label>
Programming Logic ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why use code-behind? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Code Behind Version <%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot;  CodeFile=&quot;HelloWorldCodeBehind.aspx.cs&quot;  Inherits=&quot;HelloWorldCodeBehind&quot; %> <!DOCTYPE … > <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; > <head> <title>Hello World Code-</title> </head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot; > <h1>Hello World</h1> The date is <em> <asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label> </em> </form> </body> </html> using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public  partial  class  HelloWorldCodeBehind  :  System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.Date.ToString(); } } Page directive HelloWorldCodeBehind.aspx HelloWorldCodeBehind.aspx.cs
Result in the browser <html> <head><title>Hello World Embedded</title></head> <body> <form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;HelloWorldEmbedded.aspx&quot; id=&quot;form1&quot;> <input type=&quot;hidden&quot; name=&quot;__VIEWSTATE&quot; id=&quot;__VIEWSTATE&quot;  value=&quot;/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUKMDgvMDEvMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58&quot; /> <h1>Hello World</h1> The date is <em> <span id=&quot;myDate&quot;>23/06/2006</span>  </em> </form> </body> </html> Notice no  <asp:Label>  control. Notice also the hidden input tag with the name of __VIEWSTATE. We will learn more about this view state in Chapter 2.
Web Application Structure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration File ,[object Object],[object Object]
Visual Studio ,[object Object],[object Object]
Visual Studio Web Projects ,[object Object],[object Object]
Visual Studio Web Projects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Testing using IIS ,[object Object],[object Object],[object Object],[object Object]
Virtual Directories vs Physical Folders
Web Server Controls ,[object Object],[object Object],[object Object],[object Object]
Web Server Controls ,[object Object],[object Object],[object Object]
Web Server Controls ,[object Object],[object Object],<tagprefix:tagname ID=&quot;myName&quot; runat=&quot;server&quot;> </tagprefix:tagname> <tagprefix:tagname ID=&quot;myName&quot; runat=&quot;server&quot; />
HTML Server Controls ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Another Example Please enter your name: <asp:TextBox ID=&quot;name&quot; runat=&quot;server&quot; /> <br /> Choose favorite author: <asp:DropDownList ID=&quot;myList&quot; runat=&quot;server&quot;> <asp:ListItem>Choose an author</asp:ListItem> <asp:ListItem>Atwood</asp:ListItem> <asp:ListItem>Austin</asp:ListItem> <asp:ListItem>Hawthorne</asp:ListItem> <asp:ListItem>Melville</asp:ListItem> </asp:DropDownList> <br /> <asp:Button ID=&quot;btnEnter&quot; Text=&quot;Enter&quot; runat=&quot;server&quot;  OnClick=&quot;btnEnter_Click&quot;  /> <p> <asp:Label ID=&quot;msg1&quot; runat=&quot;server&quot; /> </p> public partial class EventTest : System.Web.UI.Page { /// <summary> /// Event handler will be called each time page is requested /// </summary> protected void Page_Load(object sender, EventArgs e) { msg1.Text = &quot;In Page_Load<br/>&quot;; } /// <summary> /// Event handler for button /// </summary> protected void btnEnter_Click(object sender, EventArgs e) { if (myList.SelectedIndex > 0) { msg1.Text += &quot;Hi &quot; + name.Text + &quot;<br/>&quot;; msg1.Text += &quot;Your favorite author is &quot;; msg1.Text += myList.SelectedItem; } } }
Using AutoPostback <asp:DropDownList ID=&quot;myList&quot; runat=&quot;server&quot;  AutoPostBack=&quot;true&quot;  OnSelectedIndexChanged=&quot;myList_SelectedIndexChanged&quot;  > <asp:ListItem>Choose an author</asp:ListItem> <asp:ListItem>Atwood</asp:ListItem> <asp:ListItem>Austin</asp:ListItem> <asp:ListItem>Hawthorne</asp:ListItem> <asp:ListItem>Melville</asp:ListItem> </asp:DropDownList> public partial class EventTest : System.Web.UI.Page { /// <summary> /// Event handler will be called each time page is requested /// </summary> protected void Page_Load(object sender, EventArgs e) { msg1.Text = &quot;In Page_Load<br/>&quot;; } /// <summary> /// Event handler for list box /// </summary> protected void  myList_SelectedIndexChanged (object sender, EventArgs e) { if (myList.SelectedIndex > 0) { msg1.Text += &quot;Hi &quot; + name.Text + &quot;<br/>&quot;; msg1.Text += &quot;Your favorite author is &quot;; msg1.Text += myList.SelectedItem; } } } generates  postback  request when selection event occurs
Result in Browser (before selection) … <form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;EventTest.aspx&quot; id=&quot;form1&quot;> <div> <input type=&quot;hidden&quot; name=&quot;__EVENTTARGET&quot; id=&quot;__EVENTTARGET&quot; value=&quot;&quot; /> <input type=&quot;hidden&quot; name=&quot;__EVENTARGUMENT&quot; id=&quot;__EVENTARGUMENT&quot; value=&quot;&quot; /> <input type=&quot;hidden&quot; name=&quot;__LASTFOCUS&quot; id=&quot;__LASTFOCUS&quot; value=&quot;&quot; /> <input type=&quot;hidden&quot; name=&quot;__VIEWSTATE&quot; id=&quot;__VIEWSTATE&quot; value=&quot;/wEPDwUJMzU4OTQyMTQyD2QWAgIDD2QWBAIDDxBkZBYBZmQCBw8PFgIeBFRleHQFEUluIFBhZ2VfTG9hZDxici8+ZGRkrdXaKhB9hfPCxWw0yH66jFyRptR2Yu651BApr5K68So=&quot; /> </div> <script type=&quot;text/javascript&quot;> //<![CDATA[ var theForm = document.forms['form1']; if (!theForm) { theForm = document.form1; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> </script> <div> <input type=&quot;hidden&quot; name=&quot;__EVENTVALIDATION&quot; id=&quot;__EVENTVALIDATION&quot; value=&quot;/wEWCQLE88HoBgL7uPQdAqqc94YFAuuUwb8PAqmgr5IGArOL1q0PAuny6fcEAoDL04ICAuPk/MoLgjX6O/3XiiMK8jlmzLdPmAFL2IAhN5e3vB01z5f+ToY=&quot; /> </div> Please enter your name:  <input name=&quot;name&quot; type=&quot;text&quot; id=&quot;name&quot; />  <br /> Choose favorite author: <select name=&quot;myList&quot;  onchange=&quot; javascript:setTimeout(&#39;__doPostBack(amp;#39;myListamp;#39;,amp;#39;amp;#39;)&#39;, 0) &quot;  id=&quot;myList&quot;> <option selected=&quot;selected&quot; value=&quot;Choose an author&quot;>Choose an author</option> <option value=&quot;Atwood&quot;>Atwood</option> <option value=&quot;Austin&quot;>Austin</option> <option value=&quot;Hawthorne&quot;>Hawthorne</option> <option value=&quot;Melville&quot;>Melville</option> </select><br /> <input type=&quot;submit&quot; name=&quot;btnClick&quot; value=&quot;Submit&quot; id=&quot;btnClick&quot; /> <p><span id=&quot;msg1&quot;>In Page_Load<br/></span></p> </form> Notice that both Javascript and HTML was generated  by ASP.NET when the page executed.

Weitere ähnliche Inhalte

Was ist angesagt?

MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN StackMEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN StackMariya James
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008Caleb Jenkins
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCMayflower GmbH
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right nowCaleb Jenkins
 
Server and client rendering of single page apps
Server and client rendering of single page appsServer and client rendering of single page apps
Server and client rendering of single page appsThomas Heymann
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMrbl002
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRfunkatron
 
Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 BoilerplateMichael Enslow
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptTodd Anglin
 
Intro To Asp Net And Web Forms
Intro To Asp Net And Web FormsIntro To Asp Net And Web Forms
Intro To Asp Net And Web FormsSAMIR BHOGAYTA
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMconnectwebex
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular applicationSuresh Patidar
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web ApplicationRishi Kothari
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnifmbaye camara
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsModern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsJonas Bandi
 
learn mvc project in 7 day
learn mvc project in 7 daylearn mvc project in 7 day
learn mvc project in 7 dayQuach Long
 

Was ist angesagt? (20)

MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN StackMEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
 
Server and client rendering of single page apps
Server and client rendering of single page appsServer and client rendering of single page apps
Server and client rendering of single page apps
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 Boilerplate
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
 
Intro To Asp Net And Web Forms
Intro To Asp Net And Web FormsIntro To Asp Net And Web Forms
Intro To Asp Net And Web Forms
 
Asp.Net Tutorials
Asp.Net TutorialsAsp.Net Tutorials
Asp.Net Tutorials
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
HTML 5 Overview
HTML 5 OverviewHTML 5 Overview
HTML 5 Overview
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular application
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
 
Php
PhpPhp
Php
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsModern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.js
 
learn mvc project in 7 day
learn mvc project in 7 daylearn mvc project in 7 day
learn mvc project in 7 day
 

Ähnlich wie Web II - 01 - Introduction to server-side development

Programming Server side with Sevlet
 Programming Server side with Sevlet  Programming Server side with Sevlet
Programming Server side with Sevlet backdoor
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web ApplicationSachin Walvekar
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Todaybretticus
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Raisa anthony web programming 1st week
Raisa anthony   web programming 1st weekRaisa anthony   web programming 1st week
Raisa anthony web programming 1st weekRaisa Anjani
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Bluegrass Digital
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver lightjayc8586
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewSpiffy
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Commit University
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architectureIblesoft
 
Industrial training project ppt of online shopping
Industrial training project ppt of online  shoppingIndustrial training project ppt of online  shopping
Industrial training project ppt of online shoppinganil kumar
 

Ähnlich wie Web II - 01 - Introduction to server-side development (20)

Programming Server side with Sevlet
 Programming Server side with Sevlet  Programming Server side with Sevlet
Programming Server side with Sevlet
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server Pages
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Raisa anthony web programming 1st week
Raisa anthony   web programming 1st weekRaisa anthony   web programming 1st week
Raisa anthony web programming 1st week
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
06 Javascript
06 Javascript06 Javascript
06 Javascript
 
Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
 
Asp.netrole
Asp.netroleAsp.netrole
Asp.netrole
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
Industrial training project ppt of online shopping
Industrial training project ppt of online  shoppingIndustrial training project ppt of online  shopping
Industrial training project ppt of online shopping
 
Beginners introduction to asp.net
Beginners introduction to asp.netBeginners introduction to asp.net
Beginners introduction to asp.net
 
Web tech
Web techWeb tech
Web tech
 
Web tech
Web techWeb tech
Web tech
 

Mehr von Randy Connolly

Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeRandy Connolly
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Randy Connolly
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Randy Connolly
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Randy Connolly
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)Randy Connolly
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesRandy Connolly
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development TextbookRandy Connolly
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for ManagersRandy Connolly
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Randy Connolly
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your CoursesRandy Connolly
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Randy Connolly
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbookRandy Connolly
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesRandy Connolly
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Randy Connolly
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About TechnologyRandy Connolly
 
A longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataA longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataRandy Connolly
 
Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?Randy Connolly
 
Constructing a Contemporary Textbook
Constructing a Contemporary TextbookConstructing a Contemporary Textbook
Constructing a Contemporary TextbookRandy Connolly
 

Mehr von Randy Connolly (20)

Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS Degree
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing Disciplines
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development Textbook
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your Courses
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbook
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About Technology
 
A longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataA longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission data
 
Web Security
Web SecurityWeb Security
Web Security
 
Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?
 
Constructing a Contemporary Textbook
Constructing a Contemporary TextbookConstructing a Contemporary Textbook
Constructing a Contemporary Textbook
 
CSS: Introduction
CSS: IntroductionCSS: Introduction
CSS: Introduction
 

Kürzlich hochgeladen

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Web II - 01 - Introduction to server-side development

  • 1. SERVER-SIDE DEVELOPMENT An Introduction 01
  • 2.
  • 3.
  • 4.
  • 7.
  • 8.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Direct Output example public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) { response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html>&quot;); out.println(&quot;<body>&quot;); out.println(&quot;<head>&quot;); out.println(&quot;<title>Hello World!</title>&quot;); out.println(&quot;</head>&quot;); out.println(&quot;<body>&quot;); out.println(&quot;<h1>Hello World!</h1>&quot;); out.println(&quot;</body>&quot;); out.println(&quot;</html>&quot;); } }
  • 15.
  • 16. Example PHP Script <?php require_once(&quot;utilities/header.php&quot;); ?> <?php $currentTime = date(&quot;F j, Y, g:i a&quot;); $colors = array('white','black','red','green','blue','yellow','orange'); ?> <html> <head></head> <body> <form> The time is now <? echo $currentTime; ?> <br/> Choose a color: <select> <? for ($i=0; $i<count($colors); $i++) { echo '<option>'; echo $colors[$i]; echo '</option>'; } ?> </select> </form> </body> </html>
  • 17.
  • 18.
  • 19. Hybrid <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head runat=&quot;server&quot;><title>Scrolling Grid</title></head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot;> <div> <h1>GridView</h1> <asp:GridView ID=&quot;grdvSample&quot; runat=&quot;server&quot; DataSourceID=&quot;myAccess&quot; GridLines=&quot;none&quot; Font-Size=&quot;x-small&quot; Font-Names=&quot;tahoma&quot; BorderColor=&quot;black&quot; BorderWidth=&quot;1&quot;> <HeaderStyle ForeColor=&quot;white&quot; BackColor=&quot;brown&quot; Font-Bold=&quot;true&quot; /> <RowStyle BackColor=&quot;palegoldenrod&quot; /> <AlternatingRowStyle BackColor=&quot;beige&quot; /> </asp:GridView> <asp:AccessDataSource ID=&quot;myAccess&quot; runat=&quot;server&quot; DataFile=&quot;~/App_Data/ModernEyeCatalog.mdb&quot; SelectCommand=&quot;Select ArtistId,LastName,FirstName,Nationality,YearOfBirth,YearOfDeath from Artists&quot; /> </div> </form> </body> </html> public class CustomPaging : System.Web.UI.Page { public void SortGrid( Object o, DataGridSortCommandEventArgs e) { // determine which column is to be sorted string sortField = e.SortExpression; // we must rebind data using the sort field BindData(sortField); } }
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 37.
  • 38.
  • 39.
  • 41.
  • 42.
  • 43. Sample MSIL Assembly ... .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) .ver 1:0:5000:0 } .assembly hello { .hash algorithm 0x00008004 .ver 0:0:0:0 } .module hello.exe // MVID: {F828835E-3705-4238-BCD7-637ACDD33B78} .class private auto ansi beforefieldinit MainApp extends [mscorlib]System.Object { .method public hidebysig static void Main( ) cil managed { .entrypoint .maxstack 1 ldstr &quot;C# hello world!&quot; call void [mscorlib]System.Console::WriteLine(string) ret } // End of method MainApp::Main .method public hidebysig specialname rtspecialname instance void .ctor( ) cil managed { .maxstack 1 ldarg.0 call instance void [mscorlib]System.Object::.ctor( ) ret } // End of method MainApp::.ctor } // End of class MainApp If we use the IL disassembler ( ildasm.exe ) to turn a binary assembly into a text assembly, we will see something similar to the following: Metadata MSIL Module
  • 44.
  • 45.
  • 46.
  • 47.
  • 49.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57. HelloWorld.aspx Example <%@ Page Language=&quot;C#&quot; %> <!DOCTYPE html PUBLIC … > <script runat=&quot;server&quot;> protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.ToShortDateString(); } </script> <html> <head><title>Hello World Embedded</title></head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot; > <h1>Hello World</h1> The date is <em> <asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label> </em> </form> </body> </html> Web server control Code declaration block Necessary to make this a web form Page directive
  • 58. Code Behind Version <%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeFile=&quot;HelloWorldCodeBehind.aspx.cs&quot; Inherits=&quot;HelloWorldCodeBehind&quot; %> <!DOCTYPE … > <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; > <head> <title>Hello World Code-</title> </head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot; > <h1>Hello World</h1> The date is <em> <asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label> </em> </form> </body> </html> using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class HelloWorldCodeBehind : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.Date.ToString(); } } Page directive HelloWorldCodeBehind.aspx HelloWorldCodeBehind.aspx.cs
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64. Code Behind Version <%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeFile=&quot;HelloWorldCodeBehind.aspx.cs&quot; Inherits=&quot;HelloWorldCodeBehind&quot; %> <!DOCTYPE … > <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; > <head> <title>Hello World Code-</title> </head> <body> <form id=&quot;form1&quot; runat=&quot;server&quot; > <h1>Hello World</h1> The date is <em> <asp:Label ID=&quot;myDate&quot; runat=&quot;server&quot;></asp:Label> </em> </form> </body> </html> using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class HelloWorldCodeBehind : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.Date.ToString(); } } Page directive HelloWorldCodeBehind.aspx HelloWorldCodeBehind.aspx.cs
  • 65. Result in the browser <html> <head><title>Hello World Embedded</title></head> <body> <form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;HelloWorldEmbedded.aspx&quot; id=&quot;form1&quot;> <input type=&quot;hidden&quot; name=&quot;__VIEWSTATE&quot; id=&quot;__VIEWSTATE&quot; value=&quot;/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUKMDgvMDEvMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58&quot; /> <h1>Hello World</h1> The date is <em> <span id=&quot;myDate&quot;>23/06/2006</span> </em> </form> </body> </html> Notice no <asp:Label> control. Notice also the hidden input tag with the name of __VIEWSTATE. We will learn more about this view state in Chapter 2.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72. Virtual Directories vs Physical Folders
  • 73.
  • 74.
  • 75.
  • 76.
  • 77. Another Example Please enter your name: <asp:TextBox ID=&quot;name&quot; runat=&quot;server&quot; /> <br /> Choose favorite author: <asp:DropDownList ID=&quot;myList&quot; runat=&quot;server&quot;> <asp:ListItem>Choose an author</asp:ListItem> <asp:ListItem>Atwood</asp:ListItem> <asp:ListItem>Austin</asp:ListItem> <asp:ListItem>Hawthorne</asp:ListItem> <asp:ListItem>Melville</asp:ListItem> </asp:DropDownList> <br /> <asp:Button ID=&quot;btnEnter&quot; Text=&quot;Enter&quot; runat=&quot;server&quot; OnClick=&quot;btnEnter_Click&quot; /> <p> <asp:Label ID=&quot;msg1&quot; runat=&quot;server&quot; /> </p> public partial class EventTest : System.Web.UI.Page { /// <summary> /// Event handler will be called each time page is requested /// </summary> protected void Page_Load(object sender, EventArgs e) { msg1.Text = &quot;In Page_Load<br/>&quot;; } /// <summary> /// Event handler for button /// </summary> protected void btnEnter_Click(object sender, EventArgs e) { if (myList.SelectedIndex > 0) { msg1.Text += &quot;Hi &quot; + name.Text + &quot;<br/>&quot;; msg1.Text += &quot;Your favorite author is &quot;; msg1.Text += myList.SelectedItem; } } }
  • 78. Using AutoPostback <asp:DropDownList ID=&quot;myList&quot; runat=&quot;server&quot; AutoPostBack=&quot;true&quot; OnSelectedIndexChanged=&quot;myList_SelectedIndexChanged&quot; > <asp:ListItem>Choose an author</asp:ListItem> <asp:ListItem>Atwood</asp:ListItem> <asp:ListItem>Austin</asp:ListItem> <asp:ListItem>Hawthorne</asp:ListItem> <asp:ListItem>Melville</asp:ListItem> </asp:DropDownList> public partial class EventTest : System.Web.UI.Page { /// <summary> /// Event handler will be called each time page is requested /// </summary> protected void Page_Load(object sender, EventArgs e) { msg1.Text = &quot;In Page_Load<br/>&quot;; } /// <summary> /// Event handler for list box /// </summary> protected void myList_SelectedIndexChanged (object sender, EventArgs e) { if (myList.SelectedIndex > 0) { msg1.Text += &quot;Hi &quot; + name.Text + &quot;<br/>&quot;; msg1.Text += &quot;Your favorite author is &quot;; msg1.Text += myList.SelectedItem; } } } generates postback request when selection event occurs
  • 79. Result in Browser (before selection) … <form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;EventTest.aspx&quot; id=&quot;form1&quot;> <div> <input type=&quot;hidden&quot; name=&quot;__EVENTTARGET&quot; id=&quot;__EVENTTARGET&quot; value=&quot;&quot; /> <input type=&quot;hidden&quot; name=&quot;__EVENTARGUMENT&quot; id=&quot;__EVENTARGUMENT&quot; value=&quot;&quot; /> <input type=&quot;hidden&quot; name=&quot;__LASTFOCUS&quot; id=&quot;__LASTFOCUS&quot; value=&quot;&quot; /> <input type=&quot;hidden&quot; name=&quot;__VIEWSTATE&quot; id=&quot;__VIEWSTATE&quot; value=&quot;/wEPDwUJMzU4OTQyMTQyD2QWAgIDD2QWBAIDDxBkZBYBZmQCBw8PFgIeBFRleHQFEUluIFBhZ2VfTG9hZDxici8+ZGRkrdXaKhB9hfPCxWw0yH66jFyRptR2Yu651BApr5K68So=&quot; /> </div> <script type=&quot;text/javascript&quot;> //<![CDATA[ var theForm = document.forms['form1']; if (!theForm) { theForm = document.form1; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> </script> <div> <input type=&quot;hidden&quot; name=&quot;__EVENTVALIDATION&quot; id=&quot;__EVENTVALIDATION&quot; value=&quot;/wEWCQLE88HoBgL7uPQdAqqc94YFAuuUwb8PAqmgr5IGArOL1q0PAuny6fcEAoDL04ICAuPk/MoLgjX6O/3XiiMK8jlmzLdPmAFL2IAhN5e3vB01z5f+ToY=&quot; /> </div> Please enter your name: <input name=&quot;name&quot; type=&quot;text&quot; id=&quot;name&quot; /> <br /> Choose favorite author: <select name=&quot;myList&quot; onchange=&quot; javascript:setTimeout(&#39;__doPostBack(amp;#39;myListamp;#39;,amp;#39;amp;#39;)&#39;, 0) &quot; id=&quot;myList&quot;> <option selected=&quot;selected&quot; value=&quot;Choose an author&quot;>Choose an author</option> <option value=&quot;Atwood&quot;>Atwood</option> <option value=&quot;Austin&quot;>Austin</option> <option value=&quot;Hawthorne&quot;>Hawthorne</option> <option value=&quot;Melville&quot;>Melville</option> </select><br /> <input type=&quot;submit&quot; name=&quot;btnClick&quot; value=&quot;Submit&quot; id=&quot;btnClick&quot; /> <p><span id=&quot;msg1&quot;>In Page_Load<br/></span></p> </form> Notice that both Javascript and HTML was generated by ASP.NET when the page executed.