Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (110.8 KB, 10 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Lập trình mạng – Chương
6
1
Lập trình mạng – Chương
6
2
Lập trình mạng – Chương
6
3
– Apache Tomcat ()
– Sun’s Java Web Server, free, hiện không cho
download ( />
– New Atlanta’s ServletExec, tích hợp ServletEngine
vào các web server()
– />
– …
Lập trình mạng – Chương
6
4
import java.servlet.*;
import java.servlet.http.*;
public class Sample extends HttpServlet{
public doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
//dùng đối tượng “request” để đọc dữ liệu từ client
//đối tượng “response” để xuất dữ liệu cho client
PrintWriter out = response.getWriter();
//dùng đối tượng out để ghi (method print) dữ liệu
cho client
Lập trình mạng – Chương
6
5
– Tomcat: $/webpages/WEB-INF/classes
– JWS: $/servlets
$/webpages/WEB-INF theo DTD
/>
Lập trình mạng – Chương
6
6
• Nếu servlet chạy lần đầu, web server load file
servlet tương ứng, khởi tạo các thông số bằng qua
method <i>init()</i>
• Nếu servlet đã được khởi tạo, tạo một thread để
xử lý yêu cầu.
Lập trình mạng – Chương
6
7
– Các methods để lấy thơng số:
• <i>getParameter(“para-name”)</i>
• <i>getParameterValues(“para-name”)</i>
String username= request.getParameter(“username”);
String[] choice =
request.getParameterValues(“comments”);
Lập trình mạng – Chương
6
8
Enumeration parameter_names =
request.getParameterNames();
while(parameter_names.hasMoreElements()){
String para = parameter_names.nextElement();
out.print(para + “ = ”);
String[] paraValues = getParameterValues(para);
if(paraValues.lenght()==1){
out.println(paraValues[0]);
}else{
for(int i = 0, i< paraValues.lenght(),i++){
out.print(paraValues[i]+ “-”);
}
}
Lập trình mạng – Chương
6
9
– <i>String getHeader(header-name)</i>: lấy nội dung của
header-name
– <i>Enumeration getHeaderNames()</i>: lấy tất cả các
header-name.
– Một số method điển hình:
• <i>Cookie[] getCookies()</i>: dãy Cookie từ client
• <i>int getContentLength()</i>: trả giá trị Content-Length
• <i>int getContentType()</i>: trả giá trị Content-Type
Lập trình mạng – Chương
6
10
• QUERY_STRING: <i>getQueryString()</i>
• REMOTE_ADDR: <i>getRemoteAddr()</i>
• REMOTE_HOST: <i>getRemoteHost()</i>
• REQUEST_METHOD: <i>getMethod()</i>
• PATH_INFO: <i>getPathInfo()</i>
• SCRIPT_NAME: <i>getServletPath()</i>
• SERVER_NAME: <i>getServerName()</i>
• SERVER_PORT: <i>getServerPort()</i>
• HTTP_XXX_YYY: <i>getHeader(“Xxx-Yyy”)</i>