Upload
aldous-stephens
View
218
Download
0
Embed Size (px)
Citation preview
Apr 20, 2023 introServlets.ppt
Intro to servlets
Apr 20, 2023 introServlets.ppt
typical web page – source
<html><head>
<title>Hello</title></head><body>Hello</body></html>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta http-equiv=Content-Type content="text/html”>
Apr 20, 2023 introServlets.ppt
HTTP client-server model
web client(browser)
web server(Apache)
HTTP request
HTTP response
Apr 20, 2023 introServlets.ppt
HyperText Transport Protocol (HTTP)client-server scenario
• a web server is a program• plays the role of “server”• runs all the time but does nothing much
• listens on some TCP port until called• if called, formulates an answer and sends it to the client
• as a string (or stream or file)
• a web browser is a program• plays the role of “client”• runs if a user starts it• if the user instructs clicks something:
1. sends a URL to a web server2. waits to receive a plain text file from from web server3. formats (displays) the contents of the received file (string or stream)4. the three steps above may be repeated if the page contains images
• by file, string or stream, I mean:• a one-dimensional array of printable characters
Apr 20, 2023 introServlets.ppt
servlet URL
General form:http://serverName:port/contextName
Example:http://harborsparrow.com:80/hello
port
context
Typical: http://harborsparrow.com/hello
context
Apr 20, 2023 introServlets.ppt
Java web application
web client(browser)
HTTP request
HTTP response
web server (Apache)
1 = ServletContext object2 = HttpServletRequest object3 = HttpServletResponse object4 = HttpServlet object5 = web.xml file
2
3
4
1servlet
container(Tomcat)
5
Apr 20, 2023 introServlets.ppt
Java web application
web client(browser)
HTTP request
HTTP response
web server (Apache)
1 = ServletContext object2 = HttpServletRequest object3 = HttpServletResponse object4 = HttpServlet object5 = web.xml file
2
3
4
1servlet
container(Tomcat)
5
Apr 20, 2023 introServlets.ppt
Java web application that calls across the network to something else
web client(browser)
HTTP request
HTTP response
web server (Apache)
1 = ServletContext object2 = HttpServletRequest object3 = HttpServletResponse object4 = HttpServlet object5 = web.xml file
2
3
4
1servlet
container(Tomcat)
5
remote computer(database or other)
Apr 20, 2023 introServlets.ppt
Hello servlet
Apr 20, 2023 introServlets.ppt
code
public class Hello extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>"); out.println("Hello"); out.println("</title>"); out.println("</head>"); out.println("<body>"); out.println("Hello"); out.println("</body>"); out.println("</html>");
} /* end doPost */
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { doPost(request,response); } /* end doGet */
} // end class
Apr 20, 2023 introServlets.ppt
web.xml (deployment descriptor) for Tomcat
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<servlet> <servlet-name>Hello</servlet-name> <servlet-class>Hello</servlet-class> </servlet>
<servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/servlet/Hello</url-pattern> </servlet-mapping>
</web-app>
Apr 20, 2023 introServlets.ppt
directory structure for Tomcat
Apr 20, 2023 introServlets.ppt
the end of this PowerPoint file
Hooray!