Bài giảng Web technologies and e-Services - Bài 7, Phần 1: Web development with Java - Trường Đại học Bách khoa Hà Nội

Web development with  
Java  
1
Outline  
1. Servlet  
2. JSP – Java Server Page  
3. Java Beans  
4. ORM (Object Relational Mapping)  
2
Free Servlet and JSP Engines (Servlet/JSP Containers)  
v Apache Tomcat  
v IDE: NetBeans, Eclipse  
v Some Tutorials:  
§ Creating Servlet in Netbeans:  
§ Creating Java Servlets With NetBeans:  
§ Developing JSPs and Servlets with Netbeans:  
Compiling and Invoking Servlets  
v Put your servlet classes in proper location  
§ Locations vary from server to server. E.g.,  
tomcat_install_dir/webapps/ROOT/WEB-INF/classes  
v Invoke your servlets (HTTP request)  
§ Custom URL-to-servlet mapping (via web.xml)  
Java Servlets  
v A servlet is a Java program that is invoked by a  
web server in response to a request  
Server Platform  
Client  
Web  
Server  
Web Application  
Servlet  
Java Servlets  
v Together with web pages and other components,  
servlets constitute part of a web application  
v Servlets can  
§ create dynamic (HTML) content in response to a  
request  
§ handle user input, such as from HTML forms  
§ access databases, files, and other system resources  
§ perform any computation required by an application  
Java Servlets  
v Servlets are hosted by a servlet container, such as  
Apache Tomcat*  
The web server  
Server Platform  
handles the HTTP  
transaction details  
Web  
Server  
The servlet container  
provides a Java  
Virtual Machine  
Servlet  
Container  
for servlet execution  
*Apache Tomcat can be both a web server and a servlet container  
Environment For Developing and Testing Servlets  
v Compile:  
§ Need Servlet.jar. Available in Tomcat package  
v Setup testing environment  
§ Install and start Tomcat web server  
§ Place compiled servlet at appropriate location  
Servlet Operation  
Servlet Methods  
v Servlets have three principal methods  
.init()  
invoked once, when the servlet is loaded by the servlet container  
(upon the first client request)  
.service(HttpServletRequest req,  
HttpServletResponse res)  
invoked for each HTTP request  
parameters encapsulate the HTTP request and response  
.destroy()  
invoked when the servlet is unloaded  
(when the servlet container is shut down)  
Servlet Methods  
v The default .service() method simply invokes  
method-specific methods  
§ depending upon the HTTP request method  
.doGet()  
.doPost()  
.doHead()  
… etc.  
.service()  
HTTP Servlet  
Methods of HttpServlet and HTTP requests  
Methods  
HTTP Requests  
Comments  
doGet  
doPost  
GET, HEAD  
POST  
Usually overridden  
Usually overridden  
doPut  
PUT  
Usually not overridden  
Almost never overridden  
Almost never overridden  
doOptions  
doTrace  
OPTIONS  
TRACE  
All methods take two arguments: an HttpServletRequestobject and an  
HttpServletResponseobject.  
Return a BAD_REQUEST (400) error by default.  
Servlet Example 1  
v This servlet will say "Hello!" (in HTML)  
package servlet;  
import javax.servlet.http.*;  
public class HelloServlet extends HttpServlet {  
public void service(HttpServletRequest req,  
HttpServletResponse res) throws IOException {  
PrintWriter htmlOut = res.getWriter();  
res.setContentType("text/html");  
htmlOut.println("<html><head><title>" +  
"Servlet Example Output</title></head><body>" +  
"<p>Hello!</p>" + "</body></html>");  
htmlOut.close();  
}
}
Servlet Example 2  
This servlet also will say "Hello World" (not in  
HTML)  
import java.io.*;  
import javax.servlet.*;  
import javax.servlet.http.*;  
public class HelloWorld extends HttpServlet {  
public void doGet(HttpServletRequest request,  
HttpServletResponse response)  
throws ServletException, IOException {  
PrintWriter out = response.getWriter();  
out.println("Hello World");  
}
}
Servlet Configuration  
v The web application configuration file, web.xml,  
identifies servlets and defines a mapping from requests  
to servlets  
An identifying name for the servlet (appears twice)  
<servlet>  
<servlet-name>HelloServlet</servlet-name>  
<servlet-class>servlet.HelloServlet</servlet-class>  
</servlet>  
The servlet's package  
and class names  
<servlet-mapping>  
<servlet-name>HelloServlet</servlet-name>  
<url-pattern>/hello</url-pattern>  
</servlet-mapping>  
The pathname used to invoke the servlet  
(relative to the web application URL)  
Environment Entries  
v Servlets can obtain configuration information at  
run-time from the configuration file (web.xml)  
§ a file name, a database password, etc.  
v in web.xml:  
<env-entry-description>password</env-entry-  
description>  
<env-entry>  
<env-entry-name>UserId</env-entry-name>  
<env-entry-value>Xy87!fx9*</env-entry-value>  
<env-entry-type>java.lang.String</env-entry-type>  
</env-entry>  
Environment Entries  
v in the init() method of the servlet:  
try {  
Context envCtx = (Context)  
(new InitialContext()).lookup("java:comp/env");  
password = (String) envCtx.lookup("password");  
} catch (NamingException e) {  
e.printStackTrace();  
} catch (ClassNotFoundException e) {  
e.printStackTrace();  
}
Handling HTML Forms  
v An HTML form can be sent to a servlet for  
processing  
v The action attribute of the form must match the  
servlet URL mapping  
<form method="post" action="hello" />  
<servlet-mapping>  
<servlet-name>HelloServlet</servlet-name>  
<url-pattern>/hello</url-pattern>  
</servlet-mapping>  
Simple Form Servlet  
<form action="hello" method="post" >  
<p>User Id:<input type="text" name="userid" /></p>  
<p><input type="submit" value="Say Hello" /></p>  
</form>  
public class HelloServlet extends HttpServlet {  
public void doPost(HttpServletRequest req,  
HttpServletResponse res) throws IOException {  
PrintWriter out = res.getWriter();  
res.setContentType("text/html");  
String userId = req.getParameter("userid");  
out.println("<html><head><title>Hello</title></head>"  
+ "<body><p>Hello, " + userId  
+ "!</p></body></html>");  
out.close();  
}
State Management  
session: a series of transaction between user and  
application  
session state: the short-term memory that the application  
needs in order to maintain the session  
e.g., shopping cart, user-id  
cookie: a small file stored by the client at the instruction  
of the server  
Tải về để xem bản đầy đủ
pdf 94 trang Thùy Anh 27/04/2022 7320
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Web technologies and e-Services - Bài 7, Phần 1: Web development with Java - Trường Đại học Bách khoa Hà Nội", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_web_technologies_and_e_services_bai_7_phan_1_web_d.pdf