Bài đăng

Stack và Queue trong Java

Hình ảnh
Chào các bạn, bài viết hôm nay mình giới thiệu về 2 khái niệm Stack và Queue trong Java. Stack và Queue được implement như thế nào ? Có tác dụng gì ? Nào chúng ta cùng tìm hiểu nhé. Stack  là kiểu cấu trúc dữ liệu mà các phần từ thêm vào và lấy ra được thực hiện theo cơ chế Last – In – First – Out (LIFO), tức là phần tử nào được thêm vào đầu tiên thì sẽ được lấy ra sau cùng. Ví dụ một cái hộp để đựng đĩa, cái nào được đặt vào đầu tiên sẽ được lấy ra sau cùng. Ở đây cái hộp đựng đĩa được hiểu như là Stack. Queue  là kiểu cấu trúc dữ liệu mà các phần tử thêm vào là lấy ra được thực hiện theo cơ chế Fist – In – First – Out (FIFO), tức là phần tử nào thêm vào đầu tiên sẽ được lấy ra đầu tiên (có vẻ công bằng ^.^). Ví dụ mọi người xếp hàng đợi lên xe bus, người nào đứng trước sẽ được lên xe trước.                                                   ...

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í...

Hướng dẫn Set trong Java

Hình ảnh
Trong bài hôm nay, tôi nói cho các bạn khái niệm SET và một số đặc điểm của SET trong Java Trong Collection, Set là một interface collection trong đó nó có đặc điểm khác với List và Map. Nói qua về List và Map inteface collection. List lưu giữ các phần tử không cần phải xác định số phần tử cho trước. Map lưu giữ các phần tử theo key và value thích hợp cho việc lưu giữ, tìm kiếm , xóa phần tử thông qua việc dùng key. Còn Set lưu giữ các phần tử không trùng lặp nhau hoặc chúng ta không quan tâm đến thứ tự của các phần tử. Trong SET interface collection ta có 3 lớp class interface bao gồm HashSet, LinkedHashSet, TreeSet. Đối với HashSet lưu giữ các phần tử không cần quan tâm đến vị trí của các phần tử. Đối với TreeSet thứ tự các phần tử được sắp sếp tăng dần. Khởi tạo SET public static void main(String[] args){          Set<Integer> set = new Set<>();          set.add(1);          set....

Hướng dẫn kết nối Hibernate làm form Đăng Ký JSP + MySQL + Hibernate

Hình ảnh
Trong lĩnh vực web, mỗi khi chúng ta vào 1 website nào ví dụ website về học tập, website download ứng dụng phần mềm hay nói hẹp hơn ví dụ chúng ta muốn gửi email cho ai đó, chúng ta cần phải đăng ký để tạo email. Đó chính là các form đăng ký, nay tôi giới thiệu cho các làm ứng dụng form đăng ký đơn giản bằng Hibernate + JSP + MySQL Server. Yêu cầu : Tomcat 9.0 hoặc phiên bản khác cũng được.                  Đường link download và cấu hình chạy tomcat ( xem lại bài làm chức năng login trên      trang của tôi )                  Các file jar kết nối : xem lại bài chức năng login.                 Sử dụng Eclipse _ Mở Eclip -> New -> Dynamic Web Project tạo project Web Ở đây ta có cấu trúc Project như trên : com.hibernate.been :  chứa các file Java entity của đối tượng gồm các phương thức set và get com.hibernate.controller ...

Hướng dẫn đăng nhập sử dụng JSP Servlet + MySQL

Hình ảnh
Đối với các ứng dụng website, chức năng đăng nhập là chức năng cơ bản đối với người quản trị website. Nay tôi trình bày hướng dẫn các bạn làm chức năng đăng sử dụng JSP Servelet + hệ quản trị cơ sở dữ liệu MySQL . Yêu cầu cần thiết : Các bạn cần download Tomcat và cùng thư viện jar JDBC  Link : https://tomcat.apache.org/download-90.cgi https://jar-download.com/artifacts/mysql/mysql-connector-java Mở Eclipse -> Chọn Window -> Preferences -> Chọn button Add -> Chọn đường dẫn đến thư mục Tomcat ( chú ý giải nén ) -> Add vào Eclipse  Tạo Project Dynamic Project  Copy toàn bộ file jar đã download ở trên vào thư mục lib  File web.xml nằm trong thư mục WEB_INF  From Login Form Login Success Form Login Error Servlet LoginController : Mặc định port MySQL 3306 change : chính là tên database bạn tạo ra trong MySQL ( bạn có thể đặt tên database khác ) Mặc định username và...

Lớp String, StringBuilder, StringBuffer trong Java

Hình ảnh
Bài viết này chúng ta cùng tìm hiểu về lớp String, StringBuilder, StringBuffer. Trong Java. String là 1 chuỗi một đối tượng được biểu diễn một chuỗi giá trị char. char ch[] = {v,i,e,t, ,n,a,m , v,o, ,d,i,c,h}; String t = new String(ch); Tương tự ta có cách viết khác : String t = "viet nam vo dich"; Lớp java.lang.String được implements từ các interface Serializable, Comparable, CharSequence. Trong Java lớp String được cung cấp rất nhiều phương thức để cho ta thực hiện các thao tác với chuỗi concat, substring, length, trim , split, equals, replace , .... CharSequence là interface được biểu diễn bởi các chuỗi ký tự. Lớp String, StringBuffer, StringBuilder được implements từ interface CharSequence. Cú pháp khởi tạo String : Cách 1 : char s [] = {v,i,e,t,n,a,m};               String t = new String(s)  // convert chuỗi s sang thành String Cách 2 : String t1 = "vietnam"; Output : System.out.println(t);  // in ra màn hình chu...

Làm việc với Array trong Java

Hình ảnh
Trong lập trình ngoài việc làm việc với biến, chúng ta còn phải làm việc với mảng dữ liệu. Ví dụ trong thực tế chúng ta có 1 ngăn sách chứa rất nhiều sách, mỗi quyển sách ở đây chính là 1 thành phần để tạo nên ngăn sách đó. Vậy trong lập trình, ta có khái niệm mảng , mảng là 1 tập hợp nhiều thành phần có cùng kiểu dữ liệu, có địa chỉ tiếp nhau trên bộ nhớ (memory), có số phần tử cố định và bạn không thể thay đổi được. Ví dụ ở đây tôi có mảng như sau : Nhìn hình vẽ , ta thấy có 1 mảng số nguyên gồm 9 phần từ. _ Mảng bắt đầu vị trí 0. _ Phần tử cuối cùng của mảng là số 89 có vị trí là 8. _ Độ dài của mảng là 9 _ Chú ý 1 điều vô cùng quan trọng vị trí của mảng luôn bắt đầu từ 0. Khởi tạo 1 mảng : boolean arr[] char arr[] float arr[] double arr[] Sau khi khởi tạo mảng xong ta phải khởi tạo kích thước và thêm các phần tử vào mảng. Ví dụ dưới đây, khởi tạo mảng int có 5 phần tử ( kích thước của mảng ở dưới là 5 phần tử ) Khai báo 1 mảng có 5 phần tử int arr[] = new in...