Thứ Tư, 18 tháng 6, 2014

Reflect about your first week's learning

I. Những điều thấy :
-Tôi thấy khi tôi làm bài , tìm hiểu code và viết blog như này thì cũng mất khá nhiều thời gian.
-Tôi thấy với cách làm bài học bài này , tôi hiểu hơn về code và hiểu hơn về lý thuyết- cái mà hầu như tôi chẳng thèm động tới các kì trước.
-Tôi thấy việc học với video này khá là thú vị và hiện đại thay vì những quyển sách khô khan và toàn bằng tiếng Anh
-Tôi cảm thấy dường như mình chăm hơn và nó làm tôi thấy vui.
II. Những điều đã làm được :
- Học được cách tóm tắt lý thuyết qua video.
- Biết về phương pháp học và chia sẻ nó cho bạn bè.
- Thu được lượng kiến thức nhiều hơn hẳn so với bất kì một môn nào trong các kì trước.
- Hoàn thành các bài tập của thầy đúng hạn.
- Biết cách viết Reflection dù chưa chuyên nghiệp.
III. Những điều hạn chế :
-Khả năng tự học còn chưa cao
-Đôi lúc còn lười biếng,có cảm giác sợ code
-Code của vẫn chưa rõ ràng , chưa nhanh và phải rèn luyện thêm.
-Khả năng làm việc theo nhóm chưa được tốt.
IV. Ưu điểm và nhược điểm cách học mới :
1. Ưu điểm :
- Với cách học hiện tải thì cho tôi biết được nhiều hơn
- Tự giác tìm tòi những gì mình chưa biết bằng cách sử dụng công cụ tìm kiếm trên web.
- Dành nhiều time học ở nhà hơn
- Nó có động lực nhờ vào điểm nộp bài sớm nên giúp cho tôi chịu khó làm hết bài tâp đẻ hoàn thành đúng thời gian
- Tự học bằng cách đọc lý thuyết của bài rồi xem video, rồi code lại giúp tôi nhớ lâu hơn.
- Tạo hứng thú cho chúng ta học hơn khi ta chuyên tâm và cố gắng làm bằng được 1 bài nào đó.
- Nói chung là nó biết được nhiều hơn khi ta học trên lớp và về nhà ko nhớ được gì. Vì học trên lớp ta không phải mất chất xám để nghĩ nhiều về 1 vấn đề .
2. Nhược điểm :
- Thời gian học có thể kéo dài nhưng lượng kiến thức thu được còn ít do chưa biết cách chắt lọc
- Nhiều bài tập chưa hiểu và chưa chịu bỏ nhiều thời gian để suy nghĩ kĩ
- Có nhiều khúc mắc không giải quyết được ngay mà phải đợi hôm sau lên lớp hỏi bạn, hỏi thầy trong khi nếu trên lớp được giải đáp ngay thì sẽ hiểu hơn

Overview of JSP

I. Định nghĩa JSP :
JSP (viết tắt của JavaServer Pages) còn được biết đến với một cái tên khác là Java Scripting Preprocessor - tạm dịch là "Bộ tiền xử lý văn lệnh Java" - là một công nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trình khách. Công nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đã được định trước (pre-defined actions) vào trong nội dung tĩnh của trang.
II. Ưu điểm của JSP :
-Sử dụng JSP mà không cần phải học ngôn ngữ java
-Viết và bảo trì trang web dễ dàng
-Cho phép phát triển ứng dụng trên web mà độc lập nền tảng
-Công nghệ JSP tách biệt giao diện người dùng đến sự phát sinh nội dung, cho phép các nhà thiết kế thay đổi toàn bộ giao diện bên ngoài trang web mà không cần thay đổi nội dung động bên dưới.
III. Các thành phần  của JSP :
Thành phần JSP là các thẻ XML được dùng để khởi động chức năng mà máy chủ web vốn có. Những thành phần sau đây được cung cấp:
1. jsp:include :
Tương tự như mục đích sử dụng một thủ tục con (subroutine), Java servlet tạm thời trao nhiệm vụ đặt yêu cầu và hồi âm cho trang JavaServer (JavaServer Page) chỉ định nào đấy. Quyền khống chế sẽ được hoàn lại cho trang JSP hiện tại, một khi trang JSP kia hoàn thành nhiệm vụ của nó. Dùng phương pháp này, mã trang JSP được chia sẻ với nhiều trang JSP, thay vì phải sao mã.
2. jsp:param :
Có thể được dùng bên trong khối jsp:include, khối jsp:forward hoặc khối jsp:params. Nó được dùng để xác định một thông số, và thông số này sẽ được cộng thêm vào chuỗi các thông số hiện có của yêu cầu.
3. jsp:forward :
Được dùng để trao nhiệm vụ đặt yêu cầu và hồi âm sang cho một trang JSP khác, hoặc cho một servlet khác. Quyền khống chế sẽ được hoàn trả lại cho trang JSP hiện tại.
4. jsp:plugin :
Những phiên bản cũ của Netscape Navigator và Internet Explorer dùng những thẻ khác để nhúng một chương trình nhỏ (applet). Hành động này tạo nên thẻ thuộc trình duyệt web cần thiết để bao gồm một chương trình nhỏ (to include an applet).
5. jsp:fallback : 
Phần nội dung sẽ được hiển thị nếu trình duyệt web không hỗ trợ chương trình nhỏ (applets).
6. jsp:getProperty :
get of property của một JavaBean chỉ định.
7. jsp:setProperty :
set Property value sở hữu của một JavaBean chỉ định.
8. jsp:useBean :
Kiến tạo hoặc dùng lại một JavaBean, là cái có thể dùng được trong trang JSP.

Filter

I. Định Nghĩa Filter :
Filter là một kỹ thuật ở mức thấp trong lập trình web của java. Nó được hiểu như là một bộ lọc bao bọc lấy toàn bộ các Servlet và tài nguyên bên trong của server. Mọi request đến và response trả về đều có thể được xử lý bởi những Filter này.


II. Công dụng Filter :
- Xác thực Filter.
- Kiểm tra và lưu trữ Filter.
- Chuyển đổi hình ảnh Filter.
- Nén dữ liệu Filter.
- Mã hóa Filter.
- Lọc các sự kiện tiếp cận nguồn kích hoạt.
III. Ưu điểm Filter :
- Filter cho phép người lập trình có thể cấy các đoạn code để xử lý các luồng yêu cầu và phản hồi hoặc loại bỏ chúng một cách một cách dễ dàng. Chính khả năng này đã giúp filter hoàn toàn trong suốt với các tầng xử lý phía sau.
IV. Cách Dùng Filter :
- Khi một yêu cầu Web container , nó sẽ kiểm tra bộ lọc có mẫu URL phù hợp với URL được yêu cầu.
- Web container đặt các bộ lọc đầu tiên với một kết hợp mẫu URL và mã bộ lọc được thực thi.
- Nếu bộ lọc khác có một mẫu URL phù hợp, mã của nó sau đó được thực hiện. Điều này tiếp tục cho đến khi không có bộ lọc với các mẫu URL phù hợp.
- Nếu không có lỗi xảy ra, yêu cầu đi đến các servlet mục tiêu.
- Servlet trả về phản ứng(response) lại cho người gọi của nó. Bộ lọc cuối cùng được áp dụng cho các yêu cầu là bộ lọc đầu tiên áp dụng cho các phản ứng.
- Cuối cùng phản ứng sẽ được thông qua Web container.
V. Filter API :
Filter API là một phần của Servlet API , Interface Filter có trong gói javax.servlet
- void init(FilterConfig filterConfig): được trợ giúp bởi web container để chỉ ra một bộ lọc mà nó đang được đặt vào dịch vụ.
- void doFilter(ServletRequest request, ServletResponse response, FilterChain chain): gọi bởi container mỗi lần một cặp yêu cầu / đáp ứng được truyền qua chuỗi do một yêu cầu khách hàng cho một nguồn tài nguyên ở cuối của chuỗi.
- void destroy(): để chỉ ra một bộ lọc mà nó đang được đưa ra khỏi dịch vụ.
VI. Demo :
 - Tạo 1 file filter trong packages fis.wpsj..Filter
 Ấn next, chọn ô add information...
-  Chọn Edit, nhập tên file cần kiểm tra (ở đây là ViewAllPost.java)
- Viết Code :
- Chạy : 

Thứ Ba, 17 tháng 6, 2014

Cookies

I. Cookies là gì :
 - Cookies là một bộ phận nhắc nhở mà website có ở trên máy tính để nhắc nhở.
II. Cách tạo Cookies :

III. Chạy :

https://drive.google.com/folderview?id=0B1URzkBBMl5ZRUpKeEdrSG1QTjQ&usp=sharing

Thứ Sáu, 13 tháng 6, 2014

Sesion Manager

Session được sử dụng để duy trì sự kết nối giữa Client và Server. Khi trình duyệt yêu cầu Web Server cung cấp một trang tài liệu, nó thiết lập một kết nối, lấy về nội dung của trang yêu cầu và sau đó huỷ bỏ kết nối đó ngay lập tức.


I. Các cách hiển thị của Sesion :
1. URL Rewrting :
- Khi yêu cầu từ client lên server sẽ gắn thêm một URL và khi server trả về client thì sẽ gắn theo một URL mà client mang theo lên server.
2. Hidden Form Variables :
- Chúng ta có thể dùng các thẻ mà người dùng không nhìn thấy được và gửi lên server.
3. Persistent Cookies 
4. Persistent Mechanism
5. Servlet APIs
II. Cách sử dụng :
- Khởi tạo Sesion(HttpSesion Object) với người dùng
- Lưu trữ và nhận dữ liệu từ HttpSesion Object.
- Làm mất dữ liệu Sesion.
IV. Các phương thức của đối tượng HttpSession hay dùng:
- getCreationTime()
- getID()
- getLastAccessedTime()
- getValueName()
- getValue()
- setAttribute
- invalidate()
- removeValue()
III. Demo :

Servlet Context

ServletContext cho phép định nghĩa nhiều context trên cùng một server,với mỗi context tương ứng với một ứng dụng.
II. Cách xây dựng ServletContext :
Tạo Một Project mới
- Tạo 2 trang Servlet.


III. Sản Phẩm:




Dispatcher

- Dispatcher giúp chúng ta quản lý tốt hơn và hiệu quả hơn.
- Khi người dùng muốn truy cập nó yêu cầu nhập thông tin của mình , nếu nhập đúng TechSupportServlet, sẽ chuyển đến trang cần truy cập , khi nhập sai thì TechSupportServlet sẽ chuyển đến trang đăng ký và yêu phải đăng ký , đăng ký xong TechSupportServlet sẽ chuyển đến cần truy cập.
I. Cách Hoạt đông và các bước tạo ra: 
1. Cách hoạt động : 
-Người dùng truy cập vào html
- TechSupportServlet sẽ kiểm tra thông tin người dùng
- TechSupportServlet sẽ đưa người dùng đến ResponseServlet hoặc Register.
2. Các bước tạo ra: (Hình ảnh minh họa)




- Chạy:








Thứ Năm, 12 tháng 6, 2014

MocData(Assignment)

-Tạo một Project mới
-Click chuột phải chọn Source Packeges -> chọn java Class -> đánh tên class và dánh tên ở phần Packeges.

-Click chuột phải chọn Source Packeges -> chọn java Class -> đánh tên class và dánh tên ở phần Packeges.

-Click chuột phải vào Source Packeges -> new -> chọn other -> chọn web -> chọn Servlet

-Sau khi xong ta chạy được



Demo how to init servlet parameter

- Tạo Project tên DemoInitServletParament
- Và xem lại bài để biết cách làm
http://andtgc00547.blogspot.com/2014/06/web-development-process.html
Sau khi chạy xong ghi vào như hình


Sau khi xong chạy như  này


Web Development Process

CREATE JAVA WEB
-Vào NetBeans 8.0 (nên download netbeans8.0).
- Chọn New Project.
- Chọn Java Web.
- Chọn Web Application.
                                                                        Điền tên và chọn location
                                                                      Chọn như hình
                                                            Đánh như hình vẽ
- Click chuột phải vào Source Packeges -> new -> chọn other -> chọn web -> chọn Servlet.
                                                          Đánh như hình vẽ
Kết quả chạy




Thứ Tư, 11 tháng 6, 2014

Servlet Life Cycle

    Servlet Life Cycle là một chu kỳ sống của một Servlet được hoạt động bằng các contaniner. Một Servlet khi khởi tao thì nó luôn sống mãi trong bộ nhớ của server. Luôn lắng nghe và chờ đợi khi người dùng yêu cầu đến nó nó sẵn  dùng mà không khởi tạo một lần nữa. Servlet chỉ dừng lại khi chúng ta stop hoặc restart nó.

I. Cách hoạt động :
- Khi lần đầu tiên đuợc gọi phương thức init() sẽ được gọi một lần duy nhất sau đó nó thực hiên  các phương thức doGet(), doPost() và sau chúng chỉ thực hiện các hàm này. Phương thức destroy() được gọi trước khi server restart hoặc stop và giải phóng các tài nguyên ở hàm init().
II. Các Phương Thức :
1. Phương thức init() :
- Sẽ được gọi một lần duy nhất và được gọi một lần và không được gọi lại
- Được sử dụng suốt trong chu kỳ sống Servlet.
2. Phương thức service() :
- Là phương thức chính của chu kỳ sống Servlet. Nó thực hiện những yêu mà người dùng đề ra từ client lên server và trả lại về client.
3. Phương thức destroy() :
- Nó được gọi trước khi chu kỳ sống Servlet kết thúc. Nhiệm vụ của nó dọn dẹp .

Basic of HTTP

   Giao Thức HTTP (viết tắt HyperText Transfer Protocol) là giao thức truyền tải siêu văn bản. HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP dùng để liên hệ thông tin giữa máy cung cấp dịch vụ (Web Server) và máy sử dụng dịch vụ (Web Client) là giao thức Client/Server dùng cho World Wide Web.



I. Đặc Điểm :
- HTTP phải dựa vào hai giao thức TCP và IP tức là nó là một giao thức logical Connection
- HTTP là một Stateless Protocol nghĩa là nó không lưu lại trạng thái của client. Một client request lên server, server xử lý xong thông tin gửi trả lại cho client và sau đó nó quên hết những việc mình vừa làm. Khi muốn hỏi hoặc request lại server thì chúng ta phải tự làm lại nó.
- HTTP là một Connectionless Protocol nghĩa là  client request lên server, server xử lý xong thông tin gửi trả lại cho client, sau khi xong client và server sẽ không còn một mối liên hệ nào khác.

II. Ưu điểm và Nhược điểm của HTTP : 
1. Ưu điểm:
- Khá an toàn
- tốc độ truyền tải nhanh hơn , xử lý nhanh hơn
2. Nhược điểm : 
- Vì nó ở dạng văn bản nếu có người hack thì sẽ có thể bị mất thông tin cá nhân riêng tư của bản thân hoặc khách hàng.