SlideShare a Scribd company logo
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.

More Related Content

What's hot

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
Mariya 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 2008
Caleb 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 now
Caleb 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 apps
Thomas 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 AEM
rbl002
 
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 Boilerplate
Michael Enslow
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
Todd 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 Forms
SAMIR BHOGAYTA
 
Asp.Net Tutorials
Asp.Net TutorialsAsp.Net Tutorials
Asp.Net Tutorials
Ram Sagar Mourya
 
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
 
HTML 5 Overview
HTML 5 OverviewHTML 5 Overview
HTML 5 Overview
Offir Ariel
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular application
Suresh Patidar
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
Rishi Kothari
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
mbaye camara
 
Php
PhpPhp
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
Jonas Bandi
 
learn mvc project in 7 day
learn mvc project in 7 daylearn mvc project in 7 day
learn mvc project in 7 day
Quach Long
 

What's hot (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
 

Similar to 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 Application
Sachin Walvekar
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
Hosam Kamel
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
bretticus
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
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 2015
Bluegrass Digital
 
06 Javascript
06 Javascript06 Javascript
06 Javascript
Herman Tolle
 
Asp.netrole
Asp.netroleAsp.netrole
Asp.netrole
mani bhushan
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
jayc8586
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewSpiffy
 
Chapter 1
Chapter 1Chapter 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
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 shopping
anil kumar
 
Beginners introduction to asp.net
Beginners introduction to asp.netBeginners introduction to asp.net
Beginners introduction to asp.net
Naveen Kumar Veligeti
 
Web tech
Web techWeb tech
Web tech
SangeethaSasi1
 
Web tech
Web techWeb tech
Web tech
SangeethaSasi1
 

Similar to 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
 

More from Randy Connolly

Celebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesCelebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and Disciplines
Randy Connolly
 
Public Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisPublic Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI Crisis
Randy Connolly
 
Why Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesWhy Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social Sciences
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 Degree
Randy 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 Disciplines
Randy Connolly
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development Textbook
Randy Connolly
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
Randy 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 Courses
Randy 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 textbook
Randy 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 Disciplines
Randy 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 Technology
Randy 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 data
Randy Connolly
 
Web Security
Web SecurityWeb Security
Web Security
Randy Connolly
 

More from Randy Connolly (20)

Celebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesCelebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and Disciplines
 
Public Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisPublic Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI Crisis
 
Why Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesWhy Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social Sciences
 
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
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

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.