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

Một tuần với cách học mới và những điều đáng để suy ngẫm..!

Những điều mà tôi thấy, nghe, cảm nhận được

- Bỏ qua tất cả các yếu tố khác thì tôi thấy yếu tố con người thực sự đóng vai trò vô cùng to lớn trong việc mang lại một không khí học tập vui vẻ, đầy những sự cố gắng, quyết tâm của tôi cũng như các học sinh khác trong lớp. Thầy là người mang đến cách học mới và luôn giúp đỡ sinh viên những lúc gặp vấn đề khó giải quyết một cách tận tình, tất cả những điều này làm nên một tuần học với bao nhận thức mới lạ, sâu sắc và thật nhiều hiệu quả, mang lại cho sinh viên một không khí học tập và làm việc như ngày mai nào cũng là deadline và cố gắng hết sức.

- Yếu tố thứ hai mà tôi nhận thấy rằng việc áp dụng một phương pháp học tập mới mang lại hiệu quả thực sự, tôi cũng không nhớ rõ lắm về tên của phương pháp, nhưng sau một tuần làm theo phương pháp mới, trải nghiệm nó, tôi thực sự đã thấm nhuần tư tưởng của những người phát minh ra phương pháp này.

- Qua phương pháp học mới có lẽ có thể nói tôi tìm thấy con đường đi cho chính bản thân tôi, nhìn thấy con đường mình phải đi một cách rõ ràng hơn mặc dù con đường đó tôi đã chọn và sẽ quyết tâm theo đuổi nó đến cùng.

- Tôi cũng chẳng biết mình học được bao nhiêu phần trăm của cái môn java này rồi, nhưng thực sự tôi thấy kiến thức mà tôi đã mất công mất sức tìm hiểu và ghi nó lại thì đúng là có một chút gì đó đọng lại trong đầu.

- Qua việc viết blog tôi hiểu rõ hơn về khả năng, năng lực của các thành viên trong lớp, qua đó tôi thấy rằng mỗi người đều có một thế mạnh riêng, họ có thể không giỏi về học tập, nhưng lại rất giỏi về việc tìm kiếm thông tin hay việc viết một blog thật hay.

- Tôi nhận ra rằng muốn đạt được một thành quả nào đó thì phải hành động, tức là phải thực hiện nó, và nếu muốn thực hiện nó tốt thì phải có một kế hoạch cụ thể.

- Tôi nhận ra rằng niềm vui của một sinh viên học lập trình như tôi là được ngồi cả ngày để làm một cái gì đó tỉ mỉ, như việc chỉnh màu cho một cái nút trong một website và đến cuối ngày thì niềm vui của tôi là được úp cái tai nghe vào và nghe nhạc, tôi cảm thấy tôi đã không phí mất một ngày được sống.

Những mặt còn hạn chế của bản thân tôi

- Qua việc viết blog tôi thấy rằng kĩ năng viết lách của mình còn kém và cần thật nhiều, thật nhiều cố gắng nỗ lực để có thể cải thiện được điều này. Trong cuộc sống hiện tại thì mặc dù anh là một người có nhiều ý tưởng, tư duy, và một tâm hồn phong phú, nhưng nếu anh không viết được chúng ra cho người khác có thể đọc và cảm nhận thì nó sẽ mãi là một thứ gì đó mơ mơ hồ hồ nằm trong đầu của anh. 

- Tôi nhận ra rằng khả năng đọc hiểu tiêng anh của mình còn chưa tốt, sẽ thật khó nếu như phải đọc và dịch những văn bản chuyên ngành.

- Tôi còn hiểu biết hạn chế trong việc vận dụng các công nghệ vào việc học để đạt kết quả cao hơn.

- Tôi còn khó khăn trong việc giải quyết các vấn đề gặp phải trong quá trình làm demo, assignment và tốn rất nhiều thời gian để giải quyết.

- Tôi có rất nhiều ý tưởng nhưng ít hành động để biến chúng thành sản phẩm thực tế.

Những điều tôi tôi đã làm được

- Thực ra mà nói thì tôi vẫn tự học như vậy từ trước khi biết đến phương pháp này, nhưng sau khi biết đến và áp dụng tôi thấy có vẻ như hiệu quả học tập của tôi được nâng cao lên.

- Sau một tuần tôi thấy một số sự thay đổi, tôi chở nên năng động hơn, chủ động đi tìm kiếm những cơ hội để có thể phát triển bản thân mình.

- Học thêm được một số từ tiếng anh trong quá trình tìm tài liệu để viết blog.

- Tôi đã viết được trên dưới 15 bài viết để cống hiến cho kho thông tin chung trên toàn thế giới vì bài viết của tôi ai cũng có thể đọc, tôi viết kĩ càng để người đọc có thể dễ dàng hiểu và nắm bắt được thông tin mà tôi muốn truyền tải.

- Tôi hiểu biết thêm về Java Servlet.

- Làm được một chút bài Assignment.

Kế hoạch trong tuần tới (Nghỉ hè)

- Cố gắng làm thật tốt Assignment và học tiếng anh. Cụ thể thì mỗi ngày sẽ dành ra ít nhất là 5 tiếng để làm bài, cố gắng phát triển giao diện thật đẹp và một số tính năng chính.









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

Tổng quan về JSP

I. JSP là gì?

JSP là một công nghệ, nó cho phép chúng ta tạo ra các trang Web động, từ một trang JSP có thể sinh ra hàng ngàn các trang Web tĩnh khác dựa vào khả năng thông dịch mã Java kết hợp với mã trang HTML từ phía Server.

II. Ưu và nhược điểm của JSP

a. Ưu điểm.

- Cho phép chúng ta thiết kế giao diện web dễ dàng hơn.
- Jsp có thể cho phép chúng ta tạo nên những trang web động.
- Có thể viết một nơi và chạy bất cứ nơi nào.

b. Nhược điểm

- Nhìn chung thì việc thiết kế giao diện bằng JSP vẫn còn nhiều khó khăn.
- Tiêu tốn dung lượng lưu trữ phía server gấp đôi.
- Lần đầu tiên truy cập vào trang JSP sẽ mất nhiều thời gian chờ.

III. Các thành phần của trang JSP.

a. Thẻ Root

Thẻ này sẽ chứa các thuộc tính, thông tin của trang  jsp.

b. Comment

- Cũng như trang html, trong jsp cũng cho phép chúng ta có thể comment. Để comment chúng ta dùng kí hiệu này:    <!  your comment  -->

c. Declaration.

- Chúng ta có thể khai báo biến hoặc phương thức của java ngay trong trang jsp như một trang ngôn ngữ kịch bản. Nhưng nếu như khai báo quá nhiều trong trang thì sẽ bị nhầm lẫn giữa code jsp và code java. Cú pháp khai báo là <%! your code %>

d. Expression

- Một JSP Expression được sử dụng để chèn một giá trị vào trong trang jsv một cách trực tiếp.
- Thẻ biểu thức JSP được sử dụng để đánh giá một biểu thức và định hướng các output đến một trình duyệt web phù hợp.
Cú pháp khai báo là: <%= your code %>

e. Scriptlet Tag : 

- Scriptlet Tag cho phép bạn viết mã java trong trang JSP. Cú pháp của Scriptlet Tag như sau :   <% <i> mã java </ i>%>

f. Directive Elements:

- Một JSP directive cung cấp thông tin đặc biệt cũng như các phương tiện của trang jsp.
- Directive Elements gồm có 3 thẻ như hình dưới:


g. Standard Tag(Action Elements)

- JSP cung cấp  Standard Tag(Action Element)  để sử dụng trong các trang JSP của bạn. Các thẻ được sử dụng để loại bỏ hoặc loại bỏ mã scriptlet từ trang JSP của bạn bởi vì scriplet mã được về mặt kỹ thuật không được khuyến cáo hiện nay.

- Standard tags bắt đầu với tiền tố jsp <code>: </ code>. Có rất nhiều JSP Standard Action tag được sử dụng để thực hiện một số nhiệm vụ cụ thể.

- Sau đây là một số JSP Standard Action Tag thường dùng:


                       












Tìm hiểu về Filter

I. Filter là gì?

Filter nếu được dịch đúng nghĩa từ giáo trình ra thì nó là "một công cụ, nó làm việc như một interface hay một passage giữa Client và các ứng dụng Web. Filter là một tập hợp các bước mà các Responce và Request bắt buộc phải đi qua đối với các thay đổi được yêu cầu.

Ok. Đó thì là lý thuyết, túm lại các bạn nên hiểu nó như một cái chốt bảo vệ nằm ngay ở cổng của các công ty, thằng nào muốn vào công ty thì phải đi qua nó. ("nếu muốn đi qua mà nó không biết thì bò qua hoặc trèo tường, cái này hình như giống bọn hacker nó làm :)) "). 

Dưới đây là mô tả bằng hình ảnh để cho các bạn dễ hình dung:



II. Về việc sử dụng (tác dụng)

Ok. Nghe về định nghĩa thì nó có vẻ hay đây, vậy cụ thể thì nó được dùng để làm cái gì? Tôi sẽ nói một vài ứng dụng của filter ở ngay dưới đây

- Thứ nhất: (Authentication filters) Nó dùng để kiểm tra xem người đăng nhập vào có chính xác hay không, các thông tin được nhập vào có đúng không. Hay nói ở khía cạnh khác là nó kiểm tra quyền của người dùng xem có được truy xuất đến tài nguyên đó không.

- Thứ hai: (Login and auditing filters) Filter có thể được dùng trong việc login và ghi lại thông tin của người dùng đã truy cập đến tài nguyên của hệ thông.

- Thứ ba: Được dùng để thực hiện thao tác chuyển đổi (convertion). Ví dụ như có rất nhiều định dạng file ảnh mà người dùng up lên hệ thống, nhưng khi đi qua filter chúng sẽ được chuyển đổi thành một định dạng cụ thể để lưu vào kho tài nguyên của hệ thống.

- Thứ tư: Filter có thể nén các dữ liệu gửi lên để có thể dễ xử lý, gọn gàng và tốn ít dung lượng lưu trữ phía server.

- Thứ 5: Mã hoá dữ liệu. Khi thông tin của người dùng gửi lên và đi qua filter sẽ được mã hoá để đảm bảo tính bảo mật của thông tin.

III. Ưu điểm của filter.

a. Ưu điểm.

- Kiểm soát được request và response.
- Cho phép lập trình viên có thể viết các đoạn mã và phản hồi lại cho phía Client hoặc chuyển yêu cầu đến một địa chỉ khác, tài nguyên khác, cũng có thể phớt lờ yêu cầu (tức là kiểu ông có yêu cầu nhưng mà sai luật pháp cho nên tôi không thực hiện).
- Chính nhờ các ưu điểm và đặc tính trên vì thế nó rất hữu ích trong việc ngăn chặn các yêu cầu trái phép, phá hoại.

IV. Tạo ứng dụng Demo với Filter.

Bước 1: Đầu tiên chúng ta tạo một ứng dụng web với tên là "DemoFilter" và tạo ra 2 trang jsp với tên là: home.jsp và login.jsp. như hình dưới.


Bước 2: Tiếp đó chúng ta viết đoạn mã sau vào trong phần body của trang index.html.

                        Choose a link
                        <a href="home.jsp">Home</a>
                        <a href="login.jsp">Login</a>

Bước 3. Tạo ra một Filter mới bằng cách nhấn phải chuột trên thư mục Source Packages => New => Other => sau đó chọn như hình dưới và đặt Filter với tên là HomeProtecter.


Bước 4: Tiếp theo ở trong Filter HomeProtector ta tìm đến phương thức doFilter sau đó và gõ vào 2 dòng mã sau:

                        RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
                        rd.forward(request, response);

Ok. Vậy là chúng ta đã tạo xong Filter. Filter này sẽ chuyển đến trang login.jsp khi có yêu cầu từ phía người dùng cho dù là click vào link dẫn đến trang home.jsp hay là login.jsp.

Source Code. Download tại đây




























Thứ Ba, 17 tháng 6, 2014

Cookie và cách sử dụng

I. Sơ lược về Cookie

1. Cookie là gì?

Cookie là những mảnh thông tin nhỏ được lưu trong trình duyệt ở phía client.

2. Ưu điểm.

Nó cho phép lưu lại thông tin trên máy người dùng và vì vậy người dùng mỗi lần thực hiện các thao tác hay tắt trình duyệt, tắt máy, thông tin về username, password,..v.v vẫn được lưu lại và không cần đăng nhập lại.

3. Nhược điểm

Do thông tin được lưu ở phía client cho nên việc bảo mật thông tin bị hạn chế, thông tin dễ dàng bị đánh cắp.

II. Tạo và sử dụng Cookie.

Bước 1. Ta tạo một trang trong đó có form để lấy thông tin của người dùng.



Bước 2: Tạo ra một servlet với tên là LoginFunction.

Ta gõ theo như hình dưới:
Hoặc gõ code như dưới đây:
String username = request.getParameter("useranme");
        String password = request.getParameter("password");

        response.addCookie(new Cookie("username", username));
        response.addCookie(new Cookie("password", password));
        response.setContentType("text/html;charset=UTF-8");        
                    
              
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1> " + request.getParameter("password") + "\n" + "</h1>");
            out.println("<h1> " + request.getParameter("username") + "\n" + "</h1>");
            out.println("</body>");
            out.println("</html>");
        }
    }

Tiếp đó chúng ta có sản phẩm demo như dưới :))
Giao diện đăng nhập,
Sau khi đăng nhập
Resources: tải tại đây



















Sử dụng thư viện SqlJDBC để kết nối cơ sở dữ liệu

I. Chuẩn bị

Bước 1: Nếu trên máy chúng ta chưa có thư viện "sqljdbc4.jar"  thì chúng ta phải download để có cài đặt và sử dụng. Các bạn có thể download ở đây (lưu ý là chọn ngôn ngữ trước khi download)

Bước 2: Sau khi download xong, chúng ta sẽ tiến hành giải nén và được một file là "sqljdbc4.jar". và tiến hành add vào thư viện của project như dưới.

Phải chuột vào thư mục libraries và chọn Add JAR/Folder và chọn file sqljdbc4.jar đã tải về và giải nén vừa xong.


Bước 3. Tạo một project mới.

Bước 4: Ta tạo ra một class với tên DataAccess và đặt nó trong package "wpjs.db", sau đó thêm vào những dòng code dưới đây.

        String url = "jdbc:sqlserver://localhost:1433;databaseName=tên database";
        String username = "tên username trong sql server";
        String password = "password trong sql server";
        
        try {
            Connection conn = null;
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            conn = DriverManager.getConnection(url, username, password);
            return conn;
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(DataAccess.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;


Bước 5: Tiếp theo đó trúng ta tạo một trang login với form để lấy thông tin từ người dùng như dưới đây.


Bước 6: Tạo một class với tên AccountManagement để viết phương thức cho việc login của người dùng. Ta tạo một phương thức với tên là Login và  code theo như ở dưới:

        public static boolean Login(String user,String password){
         try {
            Connection conn=DataAccess.getConnection();
            PreparedStatement ps=conn.prepareStatement("select * from ACCOUNT where aUsername=? and aPassword=?");
            ps.setString(1,user);
            ps.setString(2,password);
            ResultSet rs=ps.executeQuery();
            if(rs.next()){
                return true;
            }      
        } catch (Exception ex) {
            Logger.getLogger(DataAccess.class.getName()).log(Level.SEVERE, null, ex);
        }
        return false;
    }


Bước 7: Tạo một servlet với tên tương ứng với action của form đăng nhập là "LoginFunction". Sau sau đó viết code như ở dưới. 

String username = request.getParameter("username");
        String password = request.getParameter("password");
        HttpSession session0 = request.getSession();
        String res = (String) session0.getAttribute("username");

        if (AcountManagement.Login(username,password) == true) {
            RequestDispatcher dis = request.getRequestDispatcher("LoginedGuest.jsp");
            dis.forward(request, response);
        }else{
            RequestDispatcher dis = request.getRequestDispatcher("Welcome.jsp");
            dis.forward(request, response);
        }



Ok. Như vậy là ta đã có thể thực hiện tính năng đăng nhập với kết nối đến cơ sở dữ liệu rồi.
Dưới đây là hình ảnh.
Trước khi đăng nhập.
Sau khi đăng nhập.



Tiếp theo là view tất cả các bài post ta cũng làm tương tự như vậy, chỉ cần thay câu lệnh truy vấn và phương thức trả về (trả về một list các bài post).

Giao diện post























Thứ Bảy, 14 tháng 6, 2014

Sử dụng Servlet Context

1. Servlet Context.

a. Servlet Context dùng để làm gì?

Servlet Context được dùng để duy trì trạng thái của ứng dụng web. Trên máy ảo Java chỉ tồn tại duy nhất một file context. Servlet Context nó biểu diễn một nhóm các tài nguyên được dùng chung giữa các servlet. Ví dụ như thống kê số lượt truy cập trang web.
Cụ thể thì nó là như thế này: Khi ta truy cập vào một servlet nếu như ta cài đặt để lưu lại số lượt truy cập thì khi ta sang các servlet khác con số đấy vẫn sẽ được đếm và tiếp tục lưu lại số lượt truy cập các trang servlet trước.

2. Các phương thức thường dùng của Servlet Context.

+ getAttribute(string name): Phương thức này sẽ trả về các thuộc tính với tên được chỉ định và trả về null nếu không có thuộc tính bằng tên đó.

+ getIntParameter(String name):Phương thức này sẽ trả về giá trị tham số (int) với tên được chỉ định và trả về null nếu tên không tồn tại.

+ setAttribute(String name,Object obj): Phương thức này sẽ thiết lập một đối tượng với tên thuộc tính được đưa ra trong pham vi áp dụng.

+ removeAttribute(String name): Phương thức này sẽ gỡ bỏ gỡ bỏ các thuộc tính với tên được chỉ định.

Bài Demo.

Bước 1. Tạo project (xem cách tạo tại đây)
Bước 2: Tạo ra 2 servlet với tên lần lượt là Page1 và Page2 như hình dưới.



Bước 3: Thêm đoạn code sau vào trong phương thức processRequest() của cả 2 servlet page1 và page2.

        Integer count = (Integer) (getServletContext().getAttribute("count"));
        if (count == null) {
            count = 0;
        }
        count++;
        getServletContext().setAttribute("count", count);

Bước 4: Làm theo như hình dưới.



Bước 5. Nhấn f5 để thấy số lần truy cập thay đổi ở cả 2 trang page1 và page2.










Sử dụng Request Dispatcher trong Java Servlet

I. Các phương thức của Request Dispatcher.

- Request Dispatcher với các component được phân bố riêng rẽ sẽ làm cho trang web của người dùng linh động hơn trong việc xử lý và ngoài ra nó còn dùng để chuyển hướng tới một servlet khác. 
Request Dispatcher gồm có 2 phương thức:

1. Include().

- Phương thức này được dùng để lấy nội dung của một trang khác và chèn vào trong servlet hiện thời

2.Forward().

- Phương thức này dùng để chuyển hướng request của người dùng đến một URL khác.


II. Làm Demo về Request Dispatcher

Ok. Bây giờ ta sẽ làm một ứng dụng web mà sẽ dựa vào câu hỏi và Gate Keeper sẽ gửi request đến câu trả lời tương ứng.

Bước 1. Khởi tạo một ứng dụng web (Nếu ai chưa biết có thể xem tại đây )

Bước 2. 
Tiếp theo chúng ta sẽ tạo ra 3 servlet và đặt tên lần lượt là: BannerServlet, ResponseServlet và CheckInforServlet như hình dưới. 


Bước 4. Tạo form gửi thông tin trong file index như hình hình dưới.
Thông tin ở trong form này sẽ được gửi tới Servlet CheckInforServlet.

Bước 5: Thêm một class mới với tên là DataSource và tạo ra dữ liệu giả để phục vụ cho việc test ứng dụng như hình dưới (ở đây ta sẽ dùng một list được khởi tạo sẵn).



Bước 6. Ở trong CheckInforServlet các viết như code hình dưới.

                             
Ta sẽ lấy ra input của người dùng (cụ thể là câu hỏi mà người dùng muốn hỏi) và so sánh chúng với câu hỏi có sẽ trong hệ thống. Ở bước này sẽ có 2 trường hợp xảy ra:
- Một là câu hỏi đó có trong hệ thống thì ta sẽ gửi request đến servlet khác để xử lý và trả lời.
- Hai là câu hỏi đó không có trong hệ thống thì ta sẽ gửi request về trong báo không có.



Bước 6: Sang bên ResponseServlet thêm code vào như hình dưới:
Ok ở bước này ta sẽ sort xem câu hỏi đó là gì để trả về cho client câu trả lời.


Ok. Vậy là xong. Còn chạy thế nào thì các bạn tự mình chạy và sáng tạo thoải con nhà mái với giao diện nhé :)

Đây là source code của bài bạn có thể download tại đây




























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

Tản mạn về Session trong Java Servlet

I. Đầu tiên ta sẽ đi giải thích, vậy "Session" là cái gì?

- Mỗi Session được hiểu là 1 phiên làm việc của một người dùng, nó chính là khoảng thời gian mà người dùng giao tiếp với ứng dụng (cụ thể là ứng dụng web).

- Một Session được tính từ khi người dùng bắt đầu truy cập vào ứng dụng lần đầu tiên, cho đến khi người dùng thoát khỏi ứng (Ví dụ như: Tắt trình duyệt, tắt máy, Logout).

- Session duy trì trạng thái cũng như tính đồng nhất của Client qua Multiple Requests.Mỗi một Session sẽ có một id khác nhau, trong session thì thường sẽ lưu trữ những thông tin như bạn đã login chưa?, bài viết nào đã đọc...v.v.

- HTTP Session là khoảng thời gian mà một kết nối ảo hoạt động.

- Session là một chuỗi các yêu cầu có liên quan từ phía client.

Tóm lại: Session là cái thứ mà nó lưu thông tin của người dùng trong thời gian làm việc. 

II. Các kỹ thuật trong Servlet để xử lý Session.

1. Url Rewritting

- Mỗi một yêu cầu mà client gửi đến thông qua url thì chúng ta có thể thêm một tham số định danh session cùng với mỗi yêu cầu và phản hồi để theo dõi phiên làm việc (session). Điều này rất quan trọng  vì chúng ta cần phải theo dõi các thông số này trong mọi phản hồi và chắc chắn rằng nó không xung đột với các thông số khác.


2. Persistent Cookies

- Cookie là các mảnh nhỏ lưu thông tin ở trong trình duyệt bên phía client, nó được gửi tới máy chủ. Lúc đó server sẽ nhận ra client qua các thông tin của cookie.


3. Hidden Form Variables

- Chúng ta có thể dùng các thẻ ẩn mà người dùng không nhìn thấy nhưng chúng vẫn là các thẻ nằm trong form để gửi lên server.

4. Servlet API

- Cái này được xây dựng trên phương pháp theo dõi phiên.

Nhược điểm của tất cả các phương pháp trên là:

    + Phần lớn thời gian chúng ta không muốn chỉ theo dõi các session, mà chúng ta phải lưu trữ dữ
liệu vào bên trong session để có thể sử dụng trong các yêu cầu tiếp theo.

    + Bản thân các phương pháp trên đều không được hoàn chỉnh, mỗi phương pháp chỉ có thể làm việc được trong một vài trường hợp cụ thể và không thể đáp ứng mọi trường hợp.

Vì thế chúng ta cần quản lý phiên API và công nghệ J2EE Servlet đi kèm với Session Management API để có thể sử dụng.

III. Sử dụng đối tượng HttpSession.

1. Khởi tạo session đối với người dùng.

- Ta khởi tạo ra một đối tượng của HttpSession.

2. Lưu trữ và lấy dữ liệu từ đối tượng HttpSession.

- Sau khi người dùng tiến hành đăng nhập xong, ta sẽ gán giá trị cho session đã khởi tạo dữ liệu của người dùng (thường là username, password..v.v).
   + Để gán dữ liệu cho session ta dùng phương thức: putValue(),
   + Để lấy dữ liệu từ session ta dùng phương thức getValue();

3. Vô hiệu hoá Session

Sau khi người dùng đã đăng xuất hoặc tắt trình duyệt ..v.v ta sẽ vô hiệu hoá session bằng cách gọi ra phương thức: invalidate().

IV. Các phương thức của đối tượng HttpSession hay dùng.

- getCreationTime()       :  Lấy ra thời gian khởi tạo.
- getID()                       : Lấy ra id của session.
- getLastAccessedTime(): lấy ra thời gian lần truy cập cuối cùng.
- getValueName()          : lấy ra tên của đối tượng.
- getValue()                   : lấy ra dữ liệu được lưu trong session.

- setAttribute                  : Gán dữ liệu cho session.// Thực ra thì trước đây người ta dùng phương thức putValue() nhưng do nó quá cũ và không đáp ứng được nhu cầu mới cho nên đã bị thay thế/

- invalidate()                  : Vô hiệu hoá session.
- removeValue()             : Xoá dữ liệu đã gán vào cho session.

Link bài làm theo demo: https://drive.google.com/a/fpt.edu.vn/#folders/0B_7k2KDkO0hTZmVjM2llRXV4eU0

Link làm User Story của Assignment: https://drive.google.com/a/fpt.edu.vn/?utm_source=en-GB&utm_medium=button&utm_campaign=web&utm_content=gotodrive&usp=gtd&ltmpl=drive&usp=gtd&utm_source=en-GB&utm_medium=button&utm_campaign=web&utm_content=gotodrive&urp=http://www.google.com.vn/accounts/Logout2?hl%3Den_GB#folders/0B_7k2KDkO0hTb05DTmQwUU5rRnM
















Cài Tomcat cho netbean nhanh gọn chỉ qua 8 bước.

Cài đặt Tomcat cho netbean


Chú ý:  Nếu trên máy tính của bạn chưa có Tomcat thì bản phải làm theo 2 bước dưới đây, còn nếu đã có rồi thì hãy làm tiếp bước thứ 3.

Bước 1. Vào google và gõ từ khoá "apache-tomcat-8.0.8 download" kết quả sẽ hiện ra như hình dưới.


Bước 2: Tải về Tomcat. Bạn phải lưu ý rằng máy của bạn cài windows 32bit hay 64bit để lựa chọn phiên bản phù hợp như hình dưới.


Bước 3. Cài Tomcat vào netbean.
>> Bật netbean -- > để ý phía bên tay trái và chọn tab Service sau đó tìm xuống mục Server.


Bước 4: Nhấn phải chuột vào Server và chọn "Add Server" sau đó ta sẽ thấy như hình dưới.


Bước 5. Ở trong ô Server ta chọn "Apache Tomcat or TomEE" sau đó nhấn Next ta sẽ nhìn thấy cửa sổ hiện ra như hình dưới.



Bước 6:  Ta nhấn vào Browse để tìm đường dẫn chỉ tới thư mục của Tomcat lưu trên máy (Lưu ý: Sau khi tải về ta nên giải nén và lưu trong ổ C.)

Bước 7: Tiếp theo là điền username và password (Nếu không có thì cứ điền vào 2 giá trị bất kì và phải nhớ) sau đó nhấn Finish.

                        
Bước 8: Đến đây ta tiếp tục làm tiếp nào gần xong rồi :)).

Sau khi nhấn finish thì ở mục Server trong tab Services ban nãy sẽ thêm mới một Server mình vừa cài. Tiếp đó, nếu như có một server khác đang chạy thì bạn phải "Stop" server đó lại. Bạn chỉ cần nhấn phải chuột vào và chọn Start. OK. Vậy là ta đã cài xong Tomcat Server cho netbean. Chúc các bạn thành công.


Link website để download Tomcate dành cho bạn nào lười search. http://tomcat.apache.org/download-80.cgi








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

Mock Data

Mock Data

1. Ưu điểm khi sử dụng Mock Data.

- Dễ dàng tạo ra một lượng lớn dữ liệu phục vụ cho việc testing.
- Dễ dàng trong sử dụng.
- Dễ dàng trong các thao tác chỉnh sửa nguồn dữ liệu mà không cần động đến database (Chỉnh sửa trực tiếp mà không cần thông qua các câu lệnh như khi dùng sql server).
- View ra dữ liệu một cách nhanh chóng vì không tốn thời gian cho việc kết nối và truy cập vào cơ sở dữ liệu.

2. Các bước để tạo ra một ứng dụng sử dụng Mock Data và View dữ liệu trên trang Html.

Bước 1. Tạo ra một project sau đó tạo ra một Class với tên "Port" và đặt nó trong packages "fis.wpsj.mockdata.entity" và nhấn Finish.


Bước 2. Tạo ra các biến cho đối tượng Port trong class "Port".

Bước 3. Insert getter và setter bằng cách nháy phải chuột và chọn Insert Code --> Getter and Setter và nhấn Generate.


Bước 4. Nháy phải chuột chọn Insert Code -- > Constructor để insert hàm khởi tạo sau đó nhấn Generate.


Bước 5. Tiếp tục insert method ToString(). Insert Code --> ToString()...;

Bước 6. Tạo tiếp một Class với tên là "DataResources" nằm trong packages "fis.wpjs.mockdata.ds".

Bước 7. Làm theo các bước trong hình dưới.

Bước 8.  Tạo ra một Servlet với tên là "ViewAllPort" nằm trong packages "fis.wpsj.mockdata.ui" và nhấn Finish.

Bước 9. Trong lớp Servlet "ViewAllPort" ta làm như sau:
Thứ nhất import 2 packages là:  "fis.wpsj.mockdata.ds" và "fis.wpsj.mockdata.entity", như hình dưới.


Tiếp theo gõ đoạn code này vào trong method processRequest() như hình dưới.


Bước 10: Trong file index.html ta thêm vào thẻ a với thuộc tính href như hình dưới.


Vậy là ta đã tạo xong. sau khi chạy ta nhấn vào link để xem danh sách các bài post.
Kết quả sau khi đã bố trí bằng css.



.



Init Param

Init Parameter

Bước 1. Tạo một Project mới và đặt tên là Init Parameter và nhấn Next và sau đó nhấn Finish.


Bước 2: Đầu tiên vào file index.html ta tạo một thẻ a và cho đặt cho thuộc tính href = LoadDatabaseConfig
Bước 3: Tạo một Servlet với tên là LoadDatabaseConfig (tên của Servlet này phải cùng tên với thuộc tính href của thẻ a).
Bước 4: Cấu hình cho Servlet.

Bước 5: Phải chuột vào class Servlet vừa tạo và chọn Insert Code 

Bước 6: Sau đó chọn Override Method.


Bước 7. Chọn "init(ServletConfig config) method  trong GenericServlet như hình dưới.

Bước 8. Khi báo biến và gán giá trị cho biến.


Bước 9. Hiển thị các username, password, url:


Bước 10. Nhấn vào link khi hiện ra khi chạy.

Và cuối cùng là kết quả ta có các thông tin của username, password, url như sau.