JavaServer Page (JSP)

Nguy n Quang Hùng E­mail: hungnq2@cse.hcmut.edu.vn

Web site: http://www.cse.hcmut.edu.vn/~hungnq/courses.htm

M c tiêu

ệ ậ  N m b t công ngh  l p trình trang web đ ng

ắ JSP.

ố ượ

 Tìm hi u v  các đ i t

ư

ế

ng có s n trong JSP  ể ễ nh  là: request, response, out, session…đ  d   dàng trong vi c vi

t các  ng d ng Web.

ộ ứ

ạ ệ

 Vi

ế t m t  ng d ng Tra c u danh b  đi n  ạ ằ

tho i b ng JSP.

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ụ ụ M c l c

 Gi

i thi u v  JSP

 C u trúc c a m t trang JSP

 L p trình JSP:

ố ượ

 Các đ i t

ng có s n trong trang JSP

ộ ứ

ạ ệ

 Vi

ế t m t  ng d ng Tra c u danh b  đi n  ạ ằ

tho i b ng JSP

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

Gi

i thi u v  JSP

 JSP là công ngh  script ch y phía web server c a hãng Sun đ i

ủ ạ ố

ọ ớ ệ ủ tr ng v i ASP c a Microsoft.

 JSP dùng ngôn ng  Java cho các phát bi u nh  if, for, do…

ữ ư ể

ứ ờ ọ ệ ữ ể i g i hàm…. và phân bi t ch  HOA

ườ while, while, bi u th c, l và th ng.

 Hi n JSP có th  ch y trên nhi u Web server khác nhau t

ệ ể ạ

ề ừ   ỗ ợ Tomcat, Apache, Jrun, JavaWebServer,... Mi n là chúng h  tr   Servlet Engine.

ỗ ệ

ể i đa 1 trong 2 công ngh  JSP hay  c file nào là JSP, ta luôn dùng

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ặ ị ị ỉ ỗ ợ ố  M i Webserver ch  h  tr  t ế ượ ậ t đ ASP. Đ  server nh n bi ấ extension đã qui đ nh theo c u hình (m c đ nh là *.jsp).

Request/Response khi g i m t trang JSP

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

C u trúc trang JSP

 M t trang JSP là 1 file *.jsp , ví d : “hello.jsp”

ụ ộ

 Vi

ấ ỳ ả ạ ế ể ả t m t trang JSP b ng b t k  trình so n th o nào k  c

ằ ồ ư ạ ớ ộ Notepad, r i l u l i v i tên *.jsp.

ể ử ng Java chính quy đ  x  lý các

ố ượ ẽ ượ ố ượ ng dùng các đ i t ứ ạ i thu t ph c t p. Các đ i t ng java này s  đ c đóng gói

ườ  JSP th ậ ả gi ạ d ng JavaBean.

 Đo n script JSP đ

ạ ượ c đóng trong tag <% .... %>.

 Bi u th c d ng: <%= (exp)  %>  t

ươ ươ ể ng đ ớ ng v i <%

ươ

ươ

 ví d : <%=  (5 + 3)  %> t

ng đ

ng v i <% out.println( 5 + 3 )   %>

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ứ ạ out.print( exp ) %>

L p trình JSP

ố ượ

 Các đ i t

ng có s n trong trang JSP:

ố ượ

 Đ i t

ng

request

ố ượ

 Đ i t

ng

response

ố ượ

 Đ i t

ng

out

ố ượ

 Đ i t

ng

application

ố ượ

 Đ i t

ng

session

 …

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

Ví d : Trang date.jsp

1.

2.

JSP Example

3.

4.

5.

Date and Time

6.

<% /*Begin JSP script–Java code sample–Comment */

7.

java.util.Date today = new java.util.Date();

8.

out.println("Today's date is: "+today);

9.

%>

10.

11.

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ế

ả Ví d : Trang date.jsp (k t qu )

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ườ

Các th  script trong JSP th

ng dùng

 Kh i <% ... %>

ứ ạ

ố ượ

ươ

 Dùng đ  n m b t các khai báo, bi u th c, t o đ i t

ọ ng, g i ph

ng

ể ắ th c… VD:

 <% out.println(“

 Hello to JSP world 

”); %>

 Th  <%@page ... %>

 Dùng đ  khai báo ngôn ng  script, các phát bi u import. VD:  %@page language="java" import="java.util.*; java.sql.*" %

 Th  <%! .... %>

ế

ươ

ứ ấ

 Dùng đ  khai báo các bi n, các ph

ng th c c p trang JSP. VD:

 <%! int x = 10; double y = 2.0; %>.

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ườ

ng dùng

Các th  script trong JSP th (2)

 Th  <%= ... %>

 Dùng cho các bi u th c.VD:

 <%= a+b %> or <%= new java.util.Date() %>

 Th  <%@ include ... %>

 Dùng đ  chèn các file JSP khác. VD:

 <%@include file="copyright.html" %>

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ạ ệ

ế ứ Vi ằ b ng Jbuilder

ạ t  ng d ng tra c u danh b  đi n tho i   Web Application Module

1.

2.

ạ ộ T o m t project trong JBuilder

1.

Ví d : JspDanhBa.war

2.

ế ấ

t c u hình tri n khai  ng d ng web

File web.xml trong *.war cho bi lên server.

3.

ứ ớ ụ T o 1 module  ng d ng web (WebApplication module)  trong project m i này.

4.

ạ T o các trang JSP / Servlet trong module WebApp. trên.

Ví d : %TOMCAT_HOME%\webapps\JspDanhBa.war

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ỗ ợ Copy JspDanhBa.war lên Web server h  tr .

ế ứ

ứ t  ng d ng Tra c u DBĐT b ng

Vi JSP

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ứ t  ng d ng Tra c u DBĐT b ng JSP

ế ứ Vi (ti p)ế

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

Trang InputForm.jsp

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ế

ị ế Trang hi n th  k t qu  tìm ki m

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ế

Vi

t trang InputForm.jsp

1.

2.

<%@page contentType="text/html; charset=UTF-8"%>

3.

4.

5.

Ung dung tra cuu danh ba dien thoai bang JSP

6.

7.

8.

Chào mừng bạn đến với những trang vàng điện thoại !

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

Bạn hãy nhập thông tin tìm kiếm bên dưới:

ế

ế

Vi

t trang InputForm.jsp (ti p)

Tìm theo tên:

Tìm theo số thuê bao:

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ế

ế

t trang tìm ki m không dùng JavaBean –

Vi Trang SearchNoBean.jsp

1.

<%@page contentType="text/html; charset=UTF-8"%>

2.

<%@page import="java.sql.*"%>

3.

Ket qua tra cuu danh ba dien thoai

4.

5.

Kết quả tra cứu danh bạ điện thoại:

6.

7.

8.

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

Trang SearchNoBean.jsp (ti p)ế

1.

2.

<% java.sql.Connection con = null;

3.

java.sql.PreparedStatement stmt = null;

4.

java.sql.ResultSet rs = null;

5.

try {

6.

String strDS = "jdbc:odbc:DanhBaDT";

7.

String strUsername = "", strPassword = "";

8.

// Tạo cầu nối đến CSDL

9.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con = DriverManager.getConnection(strDS,

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

10. 11.

strUsername, strPassword);

1.

Trang SearchNoBean.jsp (ti p)ế // Xây dựng câu SQL Select để truy vấn CSDL

2.

String strSQL = "select * from CUSTOMER where ";

3.

4.

String tentbao = request.getParameter("tentbao");

5.

if (tentbao != null && tentbao.trim().length() > 0) {

6.

strSQL += " (tentbao like '%" + tentbao + "%' ) ";

7.

}

// Tương tự cho việc tìm theo số thuê bao hay địa chỉ

8.

9.

stmt = con.prepareStatement(strSQL);

// Thực thi câu SQL select

10.

int nCountRows = 0;

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

11.

rs = stmt.executeQuery();

1.

Trang SearchNoBean.jsp (ti p)ế if (rs != null) {

2.

ResultSetMetaData meta = rs.getMetaData();

3.

while (rs.next()) {

4.

++nCountRows; out.println("

");

5.

for (int i = 1; i <= meta.getColumnCount(); i++) {

6.

/*Kết thúc phần Java code */ %>

7.

8.

<% /* Bắt đầu phần Java code mới*/

9.

}

10.

out.println("\t\t

");

11.

}

12.

out.println("

Mã số Họ và tên Số thuê bao Ðịa chỉ
<%= rs.getString(i) %>
Tìm thấy: " + nCountRows + " kết quả");

}

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

13.

Trang SearchNoBean.jsp (ti p)ế

1.

2.

} catch (Exception _ex) {

3.

out.println(_ex.toString() + _ex.getMessage());

4.

ả } finally { /* Ph i đóng t ấ ả ạ t c  l i */

5.

if (rs != null)

6.

try {   rs.close();      }catch (Exception _ex1) { }

7.

if (stmt != null)

8.

try {  stmt.close();   }catch (Exception _ex1) {}

9.

if (con != null)

try {   con.close();   }catch (Exception _ex1) {}

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

10.

}    %>

ệ ấ ữ ệ ừ

T o m t JavaBean cho vi c l y d  li u t CSDL Access b ng Jdbc­Odbc driver

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ệ ấ ữ ệ ừ

T o m t JavaBean cho vi c l y d  li u t CSDL Access b ng Jdbc­Odbc driver

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ệ ấ ữ ệ ừ

T o m t JavaBean cho vi c l y d  li u t CSDL Access b ng Jdbc­Odbc driver

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

ả Tài li u tham kh o

1. http://java.sun.com/products/jsp/index.jsp

2. Core Java Servlet/JSP. NXB Orielly. 2004.

3.

http://java.sun.com/developer/onlineTraining/

4.

http://java.sun.com/developer/technicalArticles/javas erverpages/faster/

5.

http://java.sun.com/developer/technicalArticles/xml/ WebAppDev/

6.

http://java.sun.com/developer/technicalArticles/xml/ WebAppDev2/

Nguyễn Quang Hùng – E-mail: hungnq2@dit.hcmut.edu.vn

Có thể bạn quan tâm

Tài liêu mới