Web programming. JSP
Client-server
Client-server
http
http request
http request
http request
http response
http response
Web server
Web server
HTML
Web server
Java servlet
Java servlet
Servlet container
Apache tomcat
JSP
jsp
jsp
Sample jsp
Sample jsp
Java beans
Java beans
Jsp architecture
MVC
mvc
Jsp architecture
Jsp variables
httpservletrequest
httpservletresponse
http session
httpsession
directives
Page directive
Include directive
actions
Forward action
Include action
useBean action
Session scope
779.07K
Category: programmingprogramming

Web programming. JSP

1. Web programming. JSP

WEB PROGRAMMING.
JSP

2. Client-server

CLIENT-SERVER
• Client
• Server
• Protocol

3. Client-server

CLIENT-SERVER
Protocol is HTTP
Client sends HTTP request
Server generates HTTP response
Data are returned as document(HTML, XML, image)

4. http

HTTP
Hypertext transfer protocol
Resources are identified by URI or URL
Command consists of header and data
Stateless protocol
Request defines action to perform
Status codes are returned(200, 404, 500, etc)

5. http request

HTTP REQUEST
Header
Accept
Value
text/html,application/xhtml+xml,app
lication/xml;
Acceptlanguage
AcceptEncoding
en-gb,en
Connection
Host
User-Agent
keep-alive
www.google.com.ua
Mozilla/5.0 (Windows NT 6.1)
Firefox/20.0
gzip, deflate

6. http request

HTTP REQUEST
Parameter
type
name
Value
device
test
limit
order
10
asc

7. http request

HTTP REQUEST
Method
GET
POST
Description
Requests representation of the resource
Modifies web resource
PUT
DELETE
Modifies or creates new resource
Deletes specified resources

8. http response

HTTP RESPONSE
Header
ContentEncoding
Value
gzip
Content-Type
Date
Expires
text/html; charset=UTF-8
Tue, 23 Apr 2013 15:07:27 GMT
-1
Cache-Control
Status
private, max-age=0
200 OK

9. http response

HTTP RESPONSE
• <!DOCTYPE html>
• <html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
• </html>

10. Web server

WEB SERVER
Apache Tomcat
Jetty
GlassFish
WebLogic
WebSphere
WildFly

11. Web server

WEB SERVER

12. HTML

<html>
<body>
<form>
<input type="hidden" id="code" />
<textarea id="pre_code" />
<form>
</body>
</html>

13. Web server

WEB SERVER
• Java servlets
• Java server pages(JSP)
• Web sockets

14. Java servlet

JAVA SERVLET
• Java component that runs inside web server
• Web server loads and destroys servlets
• Receives HTTP requests, generates results and sends
out HTTP responses
• Part of J2EE

15. Java servlet

JAVA SERVLET

16. Servlet container

SERVLET CONTAINER
Interacts with Java servlets
Manages lifecycle of the servlet
Maps URL to particular servlets
Ensures security and check access rights
Provides deployment, transaction management,
concurrency and other services

17. Apache tomcat

APACHE TOMCAT
• Developed by Apache Software Foundation
• Includes web server(Coyote), servlet
container(Catalina) and JSP engine(Jasper)
• Requires Java 7
• Current version is 8.0.20
• Supports Servlets, JSP, EL and Web sockets

18. JSP


Adds dynamic content to web pages
Designed in 1999
Introduced JSTL(JSP standard tag library)
Introduced EL(expression language)
Current version 2.4

19. jsp

JSP

20. jsp

JSP
• Client sends HTTP request to the server
• Server recognized HTTP request and forwards to to
JSP engine
• JSP engine loads JSP page and converts it into
servlet
• JSP engine compiles servlet into executable code
and forwards request to servlet engine
• Servlet engine executes servlet and produces HTML
• HTTP response with HTML is returned to client

21. Sample jsp

SAMPLE JSP
<%@page language="java"
contentType="text/html"%>
<html>
<head><title>Dynamic HTML</title></head>
<body>
Hello World!
</body>
</html>

22. Sample jsp

SAMPLE JSP
• <%
• out.println("<br/>Your IP address is " +
request.getRemoteAddr());
• String userAgent = request.getHeader("user-agent");
• out.println(“<br/>” + userAgent);
• %>

23. Java beans

JAVA BEANS
Plain Java objects
No-argument public constructors
Setter and getter for each field
May receive or generate events
Serializable

24. Java beans

JAVA BEANS
• public class Product implements Serializable {
private int id;
public Product() {}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id; }
• }

25. Jsp architecture

JSP ARCHITECTURE

26. MVC

27. mvc

MVC
• Model contains application data and business rules
• View contains representation of the data
• Controller sends commands to view and updates
model

28. Jsp architecture

JSP ARCHITECTURE

29. Jsp variables

JSP VARIABLES
application
config
out
pageContext
request
response
session

30. httpservletrequest

HTTPSERVLETREQUEST
String getParameter(String name)
Enumeration<String> getParameterNames()
String[] getParameterValues(String name)
String getServerName()
String getRemoteAddr()
String getHeader(String name);
String getMethod();
String getContextPath();
String getQueryString();

31. httpservletresponse

HTTPSERVLETRESPONSE
encodeURL(String)
sendRedirect(String)
getHeader(String)
getContentType()
getOutputStream()
getCharacterEncoding()

32. http session

HTTP SESSION
• Provides way to identify a user who requests web
server
• Identifies user
• Has time limitations
• Has a cookie assigned(JSESSIONID)
• Used to store attributes

33. httpsession

HTTPSESSION
getAttribute(String)
getId()
getServletContext()
invalidate()
removeAttribute(String)
setAttribute(String, Object)

34. directives

DIRECTIVES
• Provides web server with information it needs to
handle JSP request
• Executes before compilation
• page
• include
• taglib

35. Page directive

PAGE DIRECTIVE
• <%@page language="java"
contentType="text/html"%>
• <%@page import="java.util.ArrayList"%>
• <%@page import="java.util.*“ %>
• <%@page import=“org.hillel.it.model.Product,
org.hillel.it.model.Order“ %>

36. Include directive

INCLUDE DIRECTIVE
• <%@include file=“header.jsp“ %>

37. actions

ACTIONS
• Executing while processing HTTP request
forward
include
param
useBean
getProperty
text
setProperty

38. Forward action

FORWARD ACTION
• <jsp:forward page=“login.jsp">
<jsp:param name=“reason" value=“nosession"/>
• </jsp:forward>

39. Include action

INCLUDE ACTION
• <jsp:include page=“header.jsp"/>

40. useBean action

USEBEAN ACTION
• <jsp:useBean id=“service" scope="application“
• class=“org.hillel.it.service.ServiceImpl“ />
• <% int id =
Integer.valueOf(request.getParameter(“id”));
• Product product = service.getProduct(id) %>

41. Session scope

SESSION SCOPE
page
request
session
application
English     Русский Rules