Thứ Hai, 28 tháng 5, 2018

Expression Language

${pageScope.scope} = <%= pageContext.getAttribute("scope")%>
${1+2} = 3

Đối tượng ẩnMiêu tả
pageScopeCác biến scope từ phạm vi page
requestScopeCác biến scope từ phạm vi request
sessionScopeCác biến scope từ phạm vi session
applicationScopeCác biến scope từ phạm vi application
paramCác tham số request, dạng các chuỗi
paramValuesCác tham số request, dạng các tập hợp của các chuỗi
headerHTTP request header dạng các chuỗi
headerValuesHTTP request header dạng các tập hợp của các chuỗi
initParamCác tham số khởi tạo context
cookieCác giá trị Cookie
pageContextĐối tượng JSP PageContext cho page hiện tại

Thứ Sáu, 25 tháng 5, 2018

pageContext

1. scope in jsp/servlet: scope of a attribute is limited in a scope (Phạm vi của một attribute nằm giới hạn trong phạm vi nào đó)

scope level 1 (lowest) : jsp page (only)
scope level 2: request (client- server)
scope level 3: session ( multi request)
scope level 4 (highest) : application (request, page, (multi) through system)

 jsp page < request < session < application (context)
2. method
- setAttribute, getAttribute in this  servlet
- findAttribute by scope (find from low to high, if finded it will stop)

implicit object của jsp

Khi sử dụng jsp, có một số đối tượng mà ta có thể sử dụng trực tiếp, vì nó đã được khởi tạo ngầm. file Jsp cuối cùng cũng sẽ được biên dịch thành một file servlet vì thế nó cũng có một số object của servlet. Sử dụng method giống nhau về ý nghĩa

jsp----------------------servlet-------------------------------method
-----------------------------------------------------------------------
request------------------request------------------------------getParameter, getAttribute, getCookies
response----------------response----------------------------getWriter, addCookies)
config--------------------this.getServletConfig()-----------getInitParam()
application--------------this.getServletContext()-----------getInitParam()
out(jspWriter)-----------PrintWriter--------------------------print()
pageContext-------------
session------------------request.getSession()---------------getAttribute, setAttribute

Các loại init param, file web.xml

Các loại init param, file web.xml
1. servlet (mỗi cái)
init-param
this.getServletConfig().getInitParameter(arg0)
2. servlet context (toàn server)
context-param
this.getServetContext().getInitParameter(arg0)
3. jsp
init-param
config.getInitParameter("blog")

session - cookies

1.
Sessions are server-side files that contain user information, while Cookies are client-side files that contain user information. Sessions have a unique identifier that maps them to specific users. This identifier can be passed in the URL or saved into a session cookie.
Most modern sites use the second approach, saving the identifier in a Cookie instead of passing it in a URL (which poses a security risk). You are probably using this approach without knowing it, and by deleting the cookies you effectively erase their matching sessions as you remove the unique session identifier contained in the cookies.

25/05 - just a SIMPLE log

1. request.getRequestDispatcher("sample.jsp");
- Gọi đến (yêu cầu) một jsp/servlet khác thực hiện một chức năng nào đó.
- Diễn ra trên server side.
- setAttribute để tạo một dữ liệu mới là một cặp key-value ( key: String, value: Object).
- foward: chuyển hướng đến trang đích.
2. response.sendRedirect("sample.jsp");
- Gửi đến client link sample.jsp.
- Client tự tương tác với sample.jsp.
- Diễn ra tại client side.
***
3. ServletContext: chỉ có 1 duy nhất 1 context cho 1 server (context-param)
4. ServletConfig: mỗi servlet có 1 cái config (init-param)
5. chung của 3&4 là đều để init param trong web.xml
***
6. Parameter:
- truyền dữ liệu từ client(form) lên server, hoặc lấy dữ liệu từ servlet config (tạo sẵn trong init param)
- giá trị của parameter là string.
7. Attribute
- truyền dữ liệu giữa các servlet với nhau hoặc từ server xuống client
- setAttribute(String name, Object value): value là một object.
***
8. Listener
- bắt các sự kiện server. vd:kiểm tra khi một attribute được truyền vào session và đi ra khỏi session, khi một request được gửi lên server, khi một session được tạo/ bị huỷ,...

Thứ Hai, 21 tháng 5, 2018

VIẾT CHO MỘT NGÀY DÀI MỆT MỎI

Đừng đọc, khi mà bạn chưa bào giờ đặt vấn đề tương lại của chính bạn, Đừng đọc, khi bạn cảm thấy mọi điều về chính mình đều hoàn hảo. Còn nếu bạn tìm được đâu chính mình ở đâu và trong những con chữ của tôi, thì ngại gì mà không chia sẻ về câu chuyện của mình, tôi sẵn sàng nghe.

Dev bookmark (soft+hard skill)

vinacode.net
kipalog.com
toidicodedao.com

Ngăn chặn bắt sự kiện phím trong java swing

Khi chúng ta làm một ứng dụng về swing, sẽ có những khi ứng dụng của chúng ta xuất hiện những TextField để người dùng nhập vào loại dữ liệu gì đó từ bàn phím. Và chúng ta cần kiểm soát những giá trị nhập này để không làm sai chương trình. Ví dụ khi ứng dụng yêu cầu nhập chữ nhưng người dùng lại nhập số. Bài viết này sẽ hướng dẫn các bạn ngăn những hành động này bằng cách lọc ra những kí tự được phép nhập bằng các hàm trong java.