Tải bản đầy đủ (.pdf) (22 trang)

BÀI GIẢNG LẬP TRÌNH MẠNG_CHƯƠNG 5B docx

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 (450.13 KB, 22 trang )

Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 1
Trường Đại Học Bách Khoa Tp.HCM
CHƯƠNG V
LẬP TRÌNH WEB CHẠY Ở
SERVER (t.t)
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 2
Giớithiệuvề JSP
z Là một trang HTML có xen các đoạnmãJava.
z Được web server biên dịch thành bytecode.
z Cơ chế hoạt động tương tự như Servlet.
z Đượctạosẵncácđốitượng của các class
HttpServletRequest và HttpServletResponse để xử lý
giao tiếpvới web client.
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 3
Lập trình web vớiJSP
z Các đốitượng được xây dựng sẵn
– request: đốitượng class HttpServletRequest
– response: đốitượng class HttpServletResponse
– out: đốitượng class PrintWriter
– session: đốitượng class HttpSession tạoratừ
method getSession() của đốitượng request
– application: đốitượng class ServletContext
– config: đốitượng class ServletConfig
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 4


Ví dụ về lập trình web vớiJSP
<html>
<body bgcolor="white">
<h1> Request Information </h1>
<font size="4">
JSP Request Method: <%= request.getMethod() %>
<br>
Request URI: <%= request.getRequestURI() %>
<br>
Request Protocol: <%= request.getProtocol() %>
<br>
Servlet path: <%= request.getServletPath() %>
<br>
Path info: <%= request.getPathInfo() %>
<br>
Path translated: <%= request.getPathTranslated() %>
<br>
</body>
</html>
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 5
Lập trình web vớiJSP
z Các đoạn mã Java trong trang JSP được đặttrongtag
<% …. %>
– Giá trị biểuthức: <%= biểuthức%>
– Khai báo các biến <%! [type variable;]+ %>
– Java code <% Java code %>
– Chú thích <% comments %>
z Các khai báo chỉ thị (directive)

– <%@ page import=“[package][,package]*” %>
– <%@ page isThreadSafe=“{true|false}” %>
– <%@ page session=“{true|false}” %>
– <%@ include file=“filename” %>
z Các ví dụ
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 6
Tạo JSP dùng JSP wizard (JBuilder)
z Tạomột Project (jsptutorial)
z Chọnmột server (Tomcat 5.0)
z Tạomột Web module (jspwebmodule)
z Tạo JSP(JSPWithCounter)
z Chỉnh sửa trên JavaBean
z Thay đổi JSP code
z ThựcthiJSP
z Deploy JSP
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 7
Tạo JSP dùng JSP wizard (JBuilder)
z Tập tin JSPWithCounterBean.java
package jsptutorial;
public class JSPWithCounterBean {
/**initialize variable here*/
private int myCount=0;
private String sample = "Start value";
// Access sample property
public String getSample() { return sample; }
// Access sample property

public void setSample(String newValue) {
if (newValue!=null) { sample = newValue; }
}
/**New method for counting number of hits*/
public int count() {
return ++myCount;
}
}
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 8
Tạo JSP dùng JSP wizard (JBuilder)
z Tập tin JSPWithCounter.jsp

<body>
<h1>
JBuilder Generated JSP
</h1>
<form method="post" action="JSPWithCounter.jsp">
<br>Enter new value: <input name="sample"><br>
<br><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
<br>
<p>This page has been visited: <%= jSPWithCounterBeanId.count() %>
times.</p>
</form>
</body>
</html>
Trường Đại Học Bách Khoa Tp.HCM

Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 9
Giớithiệuvề ASP
z Là một trang HTML có chứacácmãscript
(VBScript hay JavaScript).
z Cácscript nàycóthể:
– Lấy thơng tin từ user.
– Sinh nội dung động.
– Thao tác với database.
– …
z Trang ASP đượcchạy trên web-server có hỗ trợ
(server-side)
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 10
Giớithiệuvề ASP
z Các cơng cụ
– Soạnthảo
z Có thể dùng trình soạnthảovănbảntext bấtkỳ.
z Các cơng cụ trực quan : Ms. Visual InterDev, Ms. FrontPage,
Macromedia Dreamweaver…
– Web server
z Win9x : Personal Web Server
z Win NT/2000 : Internet Information Services.
z Chili!Soft : (UNIX support)
z HalcyonSoft :
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 11
Lập trình web vớiASP

z Thêm script xử lý vào trang ASP
– Đặt mã trong cặpdấu : <% %>
– Dùng tag SCRIPT
– Ví dụ
<% @language=jscript %>
<%
// cong voi "" de dam bao hovaten la kieu chuoi
hovaten=""+Request("HoTen");
%>
<HTML>
<BODY>
<% if (hovaten !="undefined") { // Greeting duoc yeu cau
tu form %>
<FONT SIZE=4 COLOR="#0000FF">
Xin chao ban: <%=hovaten %>
</FONT><BR>
<% } %>
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 12
Lập trình web vớiASP
z Thêm script xử lý vào trang ASP (tiếptheo)
<FORM ACTION="greeting.asp" METHOD="Get">
Xin cho biet ho ten cua ban:
<INPUT NAME="HoTen" TYPE="text">
Hay bam nut SUBMIT:
<INPUT NAME="button1" TYPE="submit"
VALUE="SUBMIT">
</FORM>
</BODY>

</HTML>
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 13
Lập trình web vớiASP
z Đốitượng xử lý request là Request
– Lấy thơng tin người dùng nhậptừ Form vớiPOST
z Request.Form(“field_name”)
z Request.Form(“field_name”)(index)
z Request.Form(“field_name”).Count
– Lấy thơng tin người dùng nhậptừ Form vớiGET
z Request(“field_name”)
z Request.QueryString(“field_name”)(index)
z Request.QueryString(“field_name”).Count
– Lư về mộtsố field đặcbiệt:
z checkbox, ratio, các field đặt cùng tên…
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 14
Lập trình web vớiASP
z Đốitượng xử lý response là Response
– Các phương thức chính
z Reponse.Write(“String”)
z Reponse.Redirect(“URL”)
•page1 •page2
•Request
•page3
•Redirect to
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin

Trang 15
Lập trình web vớiASP
z Sử dụng Cookie
– Thiếtlậpgiátrị Cookie
Response.Cookies(cookie)[(key)|.attribute] = value
– Nhận các giá trị Cookie
Request.Cookies(cookie)[(key)|.attribute]
- Ví dụ
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 16
Lập trình web vớiASP
z Đốitượng Session
– Quản lý thơng tin về phiên làm việc(session).
– Có thể lưudữ liệu, đốitượng củamột session.
– Biến trong Session:
Session(“Ten_Bien”)=Gia_Tri_Khoi_Tao;
Ten_Bien = Session (“Ten_Bien”);
– Ví dụ
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 17
Lập trình web vớiASP
z Đốitượng Application
– Quản lý thơng tin vềứng dụng.
– Có thể dùng để lưutrữ dữ liệu, đốitượng.
– Chia xẻ giữa các ngườisử dụng.
– Khởitạo:
Application(“Ten_Bien”)=Gia_Tri;
– Thao tác cập nhật:

z Gọi Application.Lock();
z Thựchiện các thao tác với các biến Application.
z Gọi Application.Unlock();
– Ví dụ
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 18
Lập trình web vớiASP
z Đốitượng Server
– Làm việcvới các thành phần server.
– Có hai phương thứcthường dùng của đốitượng này là:
z Phương thức MapPath(URL): Xác định đường dẫnvậtlýcủa
trang được đặctả bởiURL.
z Phương thức CreateObject(progID) dùng để tạomộtthể hiệncủa
thành phầnCOM server.
– Ví dụ
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 19
Lập trình web vớiASP
z Thao tác vớiCSDL
– Có thể dùng ADO để thao tác.
– Ví dụ vềđọcdữ liệutừ CSDL:
Dim objRecordset
Set objRecordset =
Server.CreateObject(“ADODB.Recordset”)
objRecordset.Open “table-name”, “DSN=dsn”
Do While NOT objRecordset.EOF
Response.Write objRecordset(“field-name”)
objRecordset.MoveNext

Loop
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 20
Lập trình web vớiASP
z Đọcdữ liệubằng câu lệnh SQL
strSQL = “Select * FROM table WHERE ….”
objRecordset.Open strSQL, “DSN=dsn”
– In dữ liệutheodạng bảng, danh sách, listbox…
– Có thể dùng cách này để hiệnthựcviệctìmkiếm.
z Cậpnhật thơng tin trong record
strSQLUpdate = “UPDATE table SET
field1=…, field2=… WHERE …”
objRecordset. Excute strSQLUpdate
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 21
Lập trình web vớiASP
z Thêm mới record
Set obj-Recordset-name =
Server.CreateObject(“ADODB.Recordset”)
objRecordset-name.Open “table-name”,
“DSN=dsn”, _ adOpenDynamic,
adLockOptimistic
obj-Recordset-name.AddNew
obj-Recordset-name.Fields(“field-name”)
= …
obj-Recordset-name.Update
‘….
obj-Recordset-name.Close

Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 22
Tổng kết
z Lập trình Web vớiCGI
– Perl
– Apache Web Server 2.0
z Lập trình Web với Servlet
– Java
– Apache Tomcat 4.1
z Lập trình Web vớiJSP
– Java
– Apache Tomcat 4.1
z Lập trình Web với ASP
– Jscript
– IIS 5.1

×