II. XÂY DỰNG ỨNG DỤNG FORUM 1 Thiết kế diễn đàn.
2.2. Phần tiêu đề trang: chỉ là file chứa các hình ảnh tiêu đề và logo dành cho ứng dụng sẽ xuất hiện ở mọi trang giao diện JSP khác.
ứng dụng sẽ xuất hiện ở mọi trang giao diện JSP khác.
Khi người dùng kích chuột vào một hyperlink của một chủ đề cần thảo luận ta sẽ sử dụng trang viewthread.jsp để hiển thị chi tiết các mục trả lời đã được gởi lên. Mỗi chủ đề cung cấp số mid (message_id) trên đường liên kết URL dạng query string, trang viewthread.jsp sử dụng tham số này để tìm ra chủ đề chính cũng như các câu trả lời con liên quan (căn cứ vào trường message_parent_id).
2.4. Trang newthread.jsp
Nếu người dùng muốn tạo một chủ đề mới, họ có thể kích chuột vào mục newthread của trang chủ. Trang newthread.jsp dưới đây sẽ hiển thị giao diện để người dùng nhập vào tên người gởi bài, tên chủ đề và nội dung.
2.5. Trang savethread.jsp
Nhiệm vụ của trang này khá đơn giản. Đầu tiên nó tiếp nhận dữ liệu do trang newthread.jsp gửi lên. Tiếp đến, là tạo khoá cho mục dữ liệu chèn vào. Khoá được tạo bằng cách lấy giá trị lớn nhất của trường message_id hiện hành cộng thêm 1. sau cùng lệnh SQL INSERT được gọi để chèn dữ liệu vào bảng.
2.6. Trang reply.jsp
Trong quá trình xem trả lời của các mục thảo luận, người dùng có thể nhấn vào nút Reply để phản hồi hoặc góp thêm ý kiến vào mục thảo luận. Trang reply.jsp rất giống với trang newthread.jsp, tuy nhiên trang reply.jsp liên quan đến các đề mục đã có.
2.7. Trang savereply.jsp
Tương tự như trang savethread.jsp trước đây, trang savereply.jsp thực hiện chức năng lưu câu trả lời vào bảng dữ liệu. Tuy nhiên, vì đây là câu trả lời liên quan đến đề mục đã có, ta lấy khoá của đề mục cha từ đối số gửi lên bởi trang reply.jsp mang tên mid. Sau cùng, lệnh INSERT của SQL được gọi để chèn dữ liệu cho câu trả lời vào bảng dữ liệu.
2.8. Trang search.jsp
Một khi trang web của ta được nhiều người sử dụng truy cập và thảo luận trên forum, lượng đề mục cũng như số luợng câu trả lời sẽ tăng lên. Chúng ta cần cung cấp cơ chế cho phép người dùng tìm kiếm xem một đề mục nào đó đã được thảo luận trước đó hay chưa. Trang search.jsp sẽ thực hiện công việc này.
Cơ chế hiển thị của trang search.jsp rất giống với trang index.jsp, tuy nhiên trang search.jsp thực hiện chức năng tìm kiếm trong mệnh đề WHERE của câu
lệnh SQL dựa vào dữ liệu từ ô nhập liệu mang tên s_topic. Trang search.jsp được gọi từ thuộc tính action của thẻ <form> trong trang index.jsp. Nội dung như sau
Chương VI