Introduction to Web Applications using JSP, Servlets, Jstl...

30
MediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples Deploying a Web App to Tomcat Introduction to Web Applications using JSP, Servlets, Jstl and JQuery Workshop for ICOM5016 Harold Valdivia Garcia University of Puerto Rico, Mayaguez Campus October 24, 2010 Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Transcript of Introduction to Web Applications using JSP, Servlets, Jstl...

Page 1: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Introduction to Web Applicationsusing JSP, Servlets, Jstl and JQuery

Workshop for ICOM5016

Harold Valdivia Garcia

University of Puerto Rico, Mayaguez Campus

October 24, 2010

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 2: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Outline

1 MediaDB: A ICOM5016 project

2 RequirementsYour AttentionWeb Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

3 Setting Eclipse and Tomcat

4 ExamplesWebApp CalculatorWebApp University

5 Deploying a Web App to Tomcat

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 3: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Outline

1 MediaDB: A ICOM5016 project

2 RequirementsYour AttentionWeb Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

3 Setting Eclipse and Tomcat

4 ExamplesWebApp CalculatorWebApp University

5 Deploying a Web App to Tomcat

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 4: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

MediaDB: A ICOM5016 project

Browse it here mediadb

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 5: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Web Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

Outline

1 MediaDB: A ICOM5016 project

2 RequirementsYour AttentionWeb Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

3 Setting Eclipse and Tomcat

4 ExamplesWebApp CalculatorWebApp University

5 Deploying a Web App to Tomcat

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 6: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Web Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

W eb Server + Servlet Container (Tomcat)

Download Tomcat 6.0 from Apache-Tomcat-Project

Unzip the file into your directory ”Tomcat-Dir”

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 7: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Web Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

Jstl (JSP Standard Tag Library) and JQuery

Jstl is a collection of tags that implements programmingstructures. Download Jstl from here

JQuery is a Ajax Library. Download from here

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 8: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Outline

1 MediaDB: A ICOM5016 project

2 RequirementsYour AttentionWeb Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

3 Setting Eclipse and Tomcat

4 ExamplesWebApp CalculatorWebApp University

5 Deploying a Web App to Tomcat

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 9: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Setting Eclipse and Tomcat

Eclipse →Preference →Servers →RuntimeEnvironments→Add

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 10: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Set the tomcatdirectory

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 11: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

Outline

1 MediaDB: A ICOM5016 project

2 RequirementsYour AttentionWeb Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

3 Setting Eclipse and Tomcat

4 ExamplesWebApp CalculatorWebApp University

5 Deploying a Web App to Tomcat

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 12: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

WebApp Calculator

This web application implements a very simple arithmeticcalculator. The user can sends two numbers and an operation(+,-,/,*) and receives the results.

Download it from here

Look it at here: web-calc

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 13: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

WebApp Calculator

The Web app has the followingfiles:

Calculator.java

index.jsp

CalculatorServlet.java

calculator-result.jsp

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 14: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

WebApp Calculator

index.jsp

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 15: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

WebApp Calculator

CalculatorServlet.java

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 16: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

WebApp Calculator

calculator-result.jsp

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 17: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

WebApp University

Considering the MVC pattern, This web app has threecomponents:

Models: Courses.java, Professor.java, etc (POJOs)Views: index.jsp, courseViewer.jsp, etcController: Servlets + CourseMgr.java, ProfessorMgr, etc

It uses embedded java code

It uses JSTL and JQuery

Download it from here

Look it at here: web-university

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 18: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

Installing JSTL

Copy the jstl jar to:Web-name → WebContent → WEB-INF → lib

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 19: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

Installing JSTL

Add the jars to the classpath:Web-project →Properties→Java Build Path → Libraries → AddJars

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 20: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

Embedded Java Code in JSP Pages

We have access to these objects: request, response, session

We can use Java and HTML.

Scriptlets are a Good Example of a Bad Solution .

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 21: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

Embedded Java Code in JSP Pages

courseViewer.jsp

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 22: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

JSTL: JSP Standard Tag Library

We will only use the core library(http://java.sun.com/jsp/jstl/core).

Here a good tutorial

Do not forget to add the jstl directive in the JSP pages:

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 23: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

JSTL: JSP Standard Tag Library

professorViewer.jsp

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 24: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

JQuery

Here studentViewer.jsp using JQuery

JQuery allows us to send background requests to the WebServer.

JQuery allows us to receive asynchronous response from theWeb Server.

It also manipulates the DOM.

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 25: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

JQuery

You must include the jquery.js file in your pages.

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 26: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

JQuery

In the example, we want to add a link that retrieves thestudent’s details

and shows them in a div tag

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 27: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

WebApp CalculatorWebApp University

JQuery

js/jsStudent.js

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 28: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Outline

1 MediaDB: A ICOM5016 project

2 RequirementsYour AttentionWeb Server + Servlet Container (Tomcat)Jstl (JSP Standard Tag Library) and JQuery

3 Setting Eclipse and Tomcat

4 ExamplesWebApp CalculatorWebApp University

5 Deploying a Web App to Tomcat

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 29: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Deploying a Web App to Tomcat

Web-project → Export →WAR file

Uncheck the optimize option

Check Export source file

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer

Page 30: Introduction to Web Applications using JSP, Servlets, Jstl ...ahchinaei/.../icom5016/09ICOM5016JSPsServlets.pdfMediaDB: A ICOM5016 project Requirements Setting Eclipse and Tomcat Examples

MediaDB: A ICOM5016 projectRequirements

Setting Eclipse and TomcatExamples

Deploying a Web App to Tomcat

Deploying a Web App to Tomcat

Tomcat installation under ubuntu:

sudo apt-get install tomcat6

Deploying a war file to Tomcat:

Copy the war file into /full-path-tomcat/webapps/sudo cp my-web-app.war /var/lib/tomcat6/webapps/

Browse your web app here:

http://your-ip:8080/my-web-app/index.jsp

Harold Valdivia Garcia This presentation was made using LaTeX and Beamer