Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1,85 MB
Nội dung
1/13/2016 Hướng dẫn sử dụng Java Servlet Filter o7planning MENU 47% Máy tập cơ bụng AB Slider 45% 259,000 MUA NGAY Bếp điện từ Noble NB Si33 (Đen) 449,000 MUA NGAY 7% Vòi xịt sân vườn thông minh Magic Hose 139,000 MUA NGAY Hướng dẫn sử dụng Java Servlet Filter 1 Giới thiệu 2 Tại sao cần ServerFilter? 3 ServletFilter làm được những gì? 4 Tạo Project bắt đầu với ServletFilter 5 Cấu hình môi trường chạy 6 Ví dụ ServletFilter đầu tiên 7 Mô hình làm việc của Filter 8 Tham số Khởi tạo cho ServletFilter 9 ServletFilter urlpattern 10 ServletFilter sử dụng Annotation 11 Thiết lập kết nối JDBC trong Filter 12 Hướng dẫn lập trình JSP 1 Giới thiệu Tài liệu được viết dựa trên: Eclipse 4.5 MARS (Ok for Eclipse 4.4 LUNA) Tomcat 8.x http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 1/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Bạn cần có kiến thức về Servlet trước khi đọc tài liệu về ServletFilter, nếu là người mới bắt đầu, bạn có thể xem Java Servlet tại: http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 2 Tại sao cần ServerFilter? Tình huống 1: Thông thường khi người dùng yêu cầu một trang web, một request sẽ được gửi tới server, nó sẽ phải đi qua các Filter trước khi tới trang yêu cầu, giống hình minh họa dưới đây Tình huống 2: Tuy nhiên có những tình huống request của người dùng không vượt qua được hết các tầng Filter 1 0 0 Tình huống 3: Tình huống người dùng gửi yêu cầu một trang (page1), yêu cầu này sẽ phải vượt qua các Filter, tại một filter nào đó yêu cầu bị chuyển hướng sang một trang khác (page2) Tình huống ví dụ: http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 2/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter 1. Người dùng gửi yêu cầu xem trang thông tin cá nhân 2. Request sẽ được gửi tới Server 3. Nó vượt qua Filter ghi lại thông tin log 4. Nó tới Filter kiểm tra người dùng đã đăng nhập chưa, filter này kiểm tra thấy người dùng chưa đăng nhập, nó chuyển hướng yêu cầu của người dùng sang trang login 3 ServletFilter làm được những gì? Đôi khi bạn chỉ quan niệm rằng Filter sử dụng để chuyển yêu cầu người dùng tới một trang khác, hoặc ngăn chặn truy cập vào một trang web nào đó nếu người dùng không có quyền. Hoặc sử dụng để ghi lại các thông tin Log Trong thực tế Filter có thể sử dụng để mã hóa trang web. Ví dụ như sét đặt mã hóa UTF8 cho trang. Mở và đóng kết nối tới Database và chuẩn bị giao dịch JDBC (JDBC Transaction) 4 Tạo Project bắt đầu với ServletFilter Trước hết chúng ta tạo một WebApp project để làm việc với ServletFilter File/New/Other http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 3/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Nhập vào: Project Name: ServletFilterTutorial http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 4/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Project đã được tạo ra: Tạo file index.html: http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 5/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter index.html 10 11 12 Home Page Servlet‐Filter Tutorial ? 5 Cấu hình môi trường chạy Nhấn phải vào Project chọn Properties: http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 6/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 7/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Nhấn phải vào Project chọn: Run As/Run on Server http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 8/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter http://localhost:8080/ServletFilterTutorial/ http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 9/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter OK!, mọi thứ đã sẵn sàng để bắt đầu học ServletFilter 6 Ví dụ ServletFilter đầu tiên ServletFilter là một class thi hành interface javax.servlet.Filter. Class LogFilter dưới đây ghi lại thời gian và đường dẫn mà yêu cầu gửi tới WebApp LogFilter.java 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package org.o7planning.tutorial.servletfilter; import java.io.IOException; import java.util.Date; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class LogFilter implements Filter { public LogFilter() { } @Override public void init(FilterConfig fConfig) throws ServletException { System.out.println("LogFilter init!"); } @Override public void destroy() { System.out.println("LogFilter destroy!"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; String servletPath = req.getServletPath(); System.out.println("#INFO " + new Date() + " ‐ ServletPath :" + servletPath + ", URL =" + req.getRequestURL()); // Cho phép request được đi tiếp. (Vượt qua Filter này) chain.doFilter(request, response); } } ? Bạn cần đăng ký các đường dẫn phải đi qua Filter này trong web.xml: Thêm vào đoạn cấu hình trong web.xml: logFilter org.o7planning.tutorial.servletfilter.LogFilter http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter ? 10/25 1/13/2016 10 11 12 13 14 15 16 Hướng dẫn sử dụng Java Servlet Filter logFilter /* web.xml 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ServletFilterTutorial logFilter org.o7planning.tutorial.servletfilter.LogFilter logFilter /* index.html index.htm index.jsp default.html default.htm default.jsp ? Chạy lại ứng dụng của bạn: Bạn có thể chạy các đường dẫn sau trên trình duyệt, ở đây có cả những đường dẫn tới các nguồn không hề tồn tại trên WebApp của bạn, tuy nhiên nó vẫn chịu tác dụng của LogFilter http://localhost:8080/ServletFilterTutorial/ http://localhost:8080/ServletFilterTutorial/a/script.js http://localhost:8080/ServletFilterTutorial/b.html http://localhost:8080/ServletFilterTutorial/resources/image/logo.png http://localhost:8080/ServletFilterTutorial/servletPath/myServlet http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 11/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Các thông tin Log được ghi ra trên màn hình Console: Đoạn code cho phép request vượt qua Filter để tiếp tục tiến tới trang yêu cầu // Cho phép request vượt qua Filter này để tiếp tục // Nó có thể tới một Filter khác hoặc tới trang người dùng yêu cầu chain.doFilter(request, response); ? 7 Mô hình làm việc của Filter Khi người dùng gửi một yêu cầu, mục tiêu (target) có thể là một nguồn dữ liệu (resource) hoặc một servlet. Request cần phải đi qua các Filter và cuối cùng là mục tiêu. Các filter và mục tiêu được xích lại (chained) với nhau giống hình minh họa dưới đây: http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 12/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Sử dụng chain.doFilter(request,response) để di chuyển request tới mắt xích tiếp theo. Nếu trong filter chain.doFilter(request, response) không được gọi, yêu cầu của người dùng sẽ không đến được mục tiêu, nó bị dừng lại tại filter đó 8 Tham số Khởi tạo cho ServletFilter Cũng giống với Servlet, bạn có thể khởi tạo các tham số cho Filter. Ví dụ dưới đây một Filter làm nhiệm vụ ghi ra log vào một file, bạn có thể cấu hình trong web.xml tên file để ghi Log2Filter.java package org.o7planning.tutorial.servletfilter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; 10 import javax.servlet.ServletResponse; 11 12 public class Log2Filter implements Filter { 13 14 private String logFile; 15 16 public Log2Filter() { 17 } 18 19 @Override 20 public void init(FilterConfig fConfig) throws ServletException { 21 this.logFile = fConfig.getInitParameter("logFile"); 22 23 System.out.println("Log File " + logFile); 24 } 25 26 @Override 27 public void destroy() { 28 System.out.println("Log2Filter destroy!"); 29 } 30 31 @Override 32 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 33 throws IOException, ServletException { 34 35 if (this.logFile != null) { 36 // Ghi thông tin Log vào File 37 this.logToFile(this.logFile); 38 } 39 40 // Cho phép request được đi tiếp. (Vượt qua Filter này) 41 chain.doFilter(request, response); 42 } 43 44 private void logToFile(String fileName) { 45 // Ghi log vào file 46 System.out.println("Write log to file " + fileName); 47 } 48 http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter ? 13/25 1/13/2016 48 49 Hướng dẫn sử dụng Java Servlet Filter } Thêm đoạn cấu hình vào web.xml: 10 11 12 13 log2Filter org.o7planning.tutorial.servletfilter.Log2Filter logFile AppLog.log log2Filter /* ? web.xml 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ? /images/image‐not‐found.png notFoundImage = fConfig.getInitParameter("notFoundImage"); } @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; // ==> /images/path/my‐image.png // ==> /path1/path2/image.pngs String servletPath = req.getServletPath(); // Đường dẫn thực sự trên Server đến thư mục gốc (WebContent) String realRootPath = request.getServletContext().getRealPath(""); // Đường dẫn thực tới file ảnh String imageRealPath = realRootPath + servletPath; System.out.println("imageRealPath = " + imageRealPath); File file = new File(imageRealPath); // Kiểm tra xem ảnh có tồn tại không if (file.exists()) { // Cho phép request được đi tiếp. (Vượt qua Filter này) // (Để đi tiếp tới file ảnh yêu cầu) chain.doFilter(request, response); } else if (!servletPath.equals(this.notFoundImage)) { // Chuyển hướng tới 'image not found' image HttpServletResponse resp = (HttpServletResponse) response; // ==> /ServletFilterTutorial + /images/image‐not‐found.png resp.sendRedirect(req.getContextPath()+ this.notFoundImage); } } } Chạy lại ứng dụng của bạn và chạy thử các URL sau: http://localhost:8080/ServletFilterTutorial/images/flower.png Với các đường dẫn yêu cầu file ảnh, mà file ảnh không tồn tại, nó sẽ bị chuyển hướng sang ảnh mặc định http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 16/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter http://localhost:8080/ServletFilterTutorial/images/path/logo.gif http://localhost:8080/ServletFilterTutorial/logo/logo.png Trong ví dụ trên bạn cũng có thể sử dụng Forward thay vì Redirect request tới file ảnh mặc định trong trường hợp file ảnh yêu cầu không tồn // Redirect: // ==> /ServletFilterTutorial + /images/image‐not‐found.png resp.sendRedirect(req.getContextPath()+ this.notFoundImage); // Forward: req.getServletContext().getRequestDispatcher(this.notFoundImage).forward(request, response); ? 11 Thiết lập kết nối JDBC trong Filter Bạn có thể tạo đối tượng Connection kết nối JDBC trong Servlet để sử lý công việc với Database. Tuy nhiên bạn cũng có thể tạo đối tượng Connection kết nối JDBC trong Filter, và nó sẽ có tác dụng với nhiều Servlet. Và bạn có thể sử dụng Connection này trong suốt đường đi của request. Để dễ hiểu bạn có thể xem hình minh họa dưới đây: ConnectionUtils là class tạo ra đối tượng Connection kết nối với database, trong tài liệu này tôi không giới thiệu chi tiết làm cách nào bạn có được đối tượng Connection “ http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 17/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter “ Bạn có thể tìm hiểu tài liệu JDBC tại: http://o7planning.org/web/fe/default/vi/document/12562/huongdansudungjdbcketnoicosodulieu ConnectionUtils.java 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 package org.o7planning.tutorial.servletfilter.conn; import java.sql.Connection; public class ConnectionUtils { public static Connection getConnection() { // Tạo một connection kết nối vào Database Connection conn = null; // return conn; } public static void closeQuietly(Connection conn) { try { conn.close(); } catch (Exception e) { } } public static void rollbackQuietly(Connection conn) { try { conn.rollback(); } catch (Exception e) { } } } ? MyUtils.java 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package org.o7planning.tutorial.servletfilter.conn; import java.sql.Connection; import javax.servlet.ServletRequest; public class MyUtils { public static final String ATT_NAME = "MY_CONNECTION_ATTRIBUTE"; // Lưu trữ Connection vào một thuộc tính của request // Thông tin lưu trữ chỉ tồn tại trong thời gian yêu cầu (request) // cho tới khi dữ liệu được trả về trình duyệt người dùng public static void storeConnection(ServletRequest request, Connection conn) { request.setAttribute(ATT_NAME, conn); } // Lấy đối tượng Connection đã được lưu trữ trong 1 thuộc tính của request public static Connection getStoredConnection(ServletRequest request) { Connection conn = (Connection) request.getAttribute(ATT_NAME); return conn; } } ? Tôi khai báo urlpattern cho JDBCFilter là /*, filter này sẽ có tác dụng với tất cả các yêu cầu của người dùng JDBCFilter.java package org.o7planning.tutorial.servletfilter.conn; import java.io.IOException; import java.sql.Connection; import javax.servlet.Filter; http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter ? 18/25 1/13/2016 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 Hướng dẫn sử dụng Java Servlet Filter import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; @WebFilter(urlPatterns = { "/*" }) public class JDBCFilter implements Filter { public JDBCFilter() { } @Override public void init(FilterConfig fConfig) throws ServletException { } @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; // String servletPath = req.getServletPath(); // // Chỉ mở kết nối đối với các request có đường dẫn đặc biệt cần // connection. (Chẳng hạn đường dẫn tới các servlet, jsp, ) // // Tránh tình trạng mở connection với các yêu cầu thông thường // (chẳng hạn image, css, javascript, ) // if (servletPath.contains("/specialPath1") || servletPath.contains("/specialPath2")) { Connection conn = null; try { // Tạo đối tượng Connection kết nối database conn = ConnectionUtils.getConnection(); // Sét tự động commit false, để chủ động điều khiển conn.setAutoCommit(false); // Lưu trữ vào attribute của request MyUtils.storeConnection(request, conn); // Cho phép request đi tiếp chain.doFilter(request, response); // Gọi commit() để commit giao dịch với DB conn.commit(); } catch (Exception e) { ConnectionUtils.rollbackQuietly(conn); throw new ServletException(); } finally { ConnectionUtils.closeQuietly(conn); } } // Với các request thông thường, cho tiếp tục else { // Cho phép request đi tiếp chain.doFilter(request, response); } } } Tại filter tiếp theo hoặc tại servlet, hoặc tại trang JSP (trên cùng một yêu cầu), bạn có thể lấy đối tượng Connection đã lưu trữ trong attribute của request: Connection conn = (Connection) request.getAttribute(ATT_NAME); // Hoặc Connection conn = MyUtils.getStoredConnection(); http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter ? 19/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter 12 Hướng dẫn lập trình JSP Tiếp theo bạn có thể tìm hiểu về JSP: http://o7planning.org/web/fe/default/vi/document/20397/huongdanlaptrinhjavajspchonguoimoibatdau Nhóm tài liệu liên quan Lập trình phía server Servlet/JSP Java cơ bản Bắt đầu với Java cần những gì? Hướng dẫn cài đặt và cấu hình Java Hướng dẫn cài đặt và cấu hình Eclipse Học nhanh Java cho người mới bắt đầu JDK Javadoc định dạng CHM Thừa kế và đa hình trong Java Abstract class và Interface trong Java Access modifier trong Java Hướng dẫn sử dụng Java Enum Hướng dẫn sử dụng Java Annotation So sánh và sắp xếp trong Java Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder Hướng dẫn xử lý ngoại lệ trong Java Java Exception Handling Hướng dẫn sử dụng Java Generics Hướng dẫn sử dụng nền tảng tập hợp (Java Collection Framework) Hướng dẫn sử dụng luồng vào ra nhị phân Java IO Hướng dẫn sử dụng luồng vào ra ký tự Java IO Hướng dẫn sử dụng Date, Time trong Java Cú pháp và các tính năng mới trong Java 5 Cú pháp và các tính năng mới trong Java 8 Hướng dẫn sử dụng biểu thức chính quy Java Regex Hướng dẫn lập trình đa luồng trong Java Java Multithreading Thư viện điều khiển các loại cơ sở dữ liệu khác nhau trong Java Hướng dẫn sử dụng JDBC kết nối cơ sở dữ liệu Hướng dẫn nén và giải nén trong Java Java Compression Hướng dẫn sử dụng Java Reflection http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 20/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Hướng dẫn gọi phương thức từ xa với Java RMI Hướng dẫn lập trình Java Socket Lập trình Java ứng dụng Desktop hoặc các ứng dụng Web giao diện giống ứng dụng Desktop nên chọn giải pháp nào? Hướng dẫn lập trình Java Desktop sử dụng SWT Hướng dẫn sử dụng Eclipse JFace Hướng dẫn sử dụng Commons IO Hướng dẫn sử dụng Commons Email Hướng dẫn sử dụng Commons Logging Java nâng cao Lập trình Java theo nhóm sử dụng Eclipse và SVN Tùy biến trình biên dịch java sử lý Annotation của bạn (Annotation Processing Tool) Hướng dẫn lập trình Java hướng khía cạnh với AspectJ (AOP) Cài đặt Maven vào Eclipse Hướng dẫn sử dụng Maven cho người mới bắt đầu Quản lý các phụ thuộc trong Maven Thiết lập dự án nhiều Module sử dụng Maven Cài đặt JBoss Tools vào Eclipse Hướng dẫn lập trình Java Hibernate cho người mới bắt đầu Tra cứu Java Hibernate Sử dụng Hibernate Tool tạo ra các class Entity từ các bảng Lập trình phía server Khai báo Server Tomcat trên Eclipse Hướng dẫn cài đặt và cấu hình Glassfish Web Server Hướng dẫn cài đặt và cấu hình Oracle WebLogic Server Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Hướng dẫn sử dụng Java Servlet Filter Hướng dẫn lập trình Java JSP cho người mới bắt đầu Hướng dẫn sử dụng JSP Standard Tag Library (JSTL) Cài đặt Web Tools Platform vào Eclipse Tạo một ứng dụng Web đơn giản sử dụng Servlet, JSP và JDBC Hướng dẫn sử dụng Google reCAPTCHA trong ứng dụng Web Java Chạy ứng dụng web Maven trên Tomcat Maven Plugin Chạy ứng dụng Web Maven trên Jetty Maven Plugin Hướng dẫn lập trình Struts2 cho người mới bắt đầu Hướng dẫn lập trình Spring MVC cho người mới bắt đầu Hello Spring 4 MVC Ứng dụng Web login đơn giản sử dụng Spring MVC, Spring Security và Spring JDBC Hướng dẫn sử dụng Spring MVC, Hibernate và Spring Transaction Manager Struts2 Framework Hướng dẫn lập trình Struts2 cho người mới bắt đầu Hướng dẫn lập trình Struts2 cho người mới bắt đầu (Cấu hình Annotation) Spring Framework http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 21/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Hướng dẫn lập trình Spring cho người mới bắt đầu Hướng dẫn lập trình Spring MVC cho người mới bắt đầu Hello Spring 4 MVC Cài đặt Spring Tool Suite vào Eclipse Hướng dẫn cấu hình Static Resource và Resource Bundle trong Spring MVC Hướng dẫn Upload File với Spring MVC Hướng dẫn sử dụng Spring JDBC Ứng dụng Web login đơn giản sử dụng Spring MVC, Spring Security và Spring JDBC Hướng dẫn sử dụng Spring MVC và Velocity Sử dụng Template trong Spring MVC với Apache Tiles Hướng dẫn sử dụng Spring MVC và Spring JDBC Transaction Hướng dẫn sử dụng Spring MVC, Hibernate và Spring Transaction Manager Công nghệ của Eclipse Cài đặt công cụ phát triển Aspectj vào Eclipse Hướng dẫn lập trình Java hướng khía cạnh với AspectJ (AOP) Làm sao để có các thư viện mã nguồn mở Java dưới dạng OSGi Cài đặt Tycho vào Eclipse Hướng dẫn lập trình Java OSGi cho người mới bắt đầu Tương tác OSGi và AspectJ Thiết lập dự án OSGi với Maven và tycho Cài đặt WindowBuilder vào Eclipse Lập trình Java ứng dụng Desktop hoặc các ứng dụng Web giao diện giống ứng dụng Desktop nên chọn giải pháp nào? Hướng dẫn lập trình Java Desktop sử dụng SWT Hướng dẫn sử dụng Eclipse JFace Cài đặt e4 Tools Developer Resources vào Eclipse Hướng dẫn lập trình Eclipse RCP 4 cho người mới bắt đầu Ứng dụng e4 Workbench Hướng dẫn đóng gói và triển khai ứng dụng Desktop SWT/RCP Cài đặt RAP tools vào Eclipse Cài đặt RAP e4 Tooling vào Eclipse Cài đặt Eclipse RAP Target Platform Hướng dẫn lập trình Eclipse RAP cho người mới bắt đầu Ứng dụng cơ bản Hướng dẫn lập trình Eclipse RAP cho người mới bắt đầu Ứng dụng e4 Workbench Tạo Eclipse RAP Widget từ ClientScripting widget Hướng dẫn đóng gói và triển khai ứng dụng Eclipse RAP Cài đặt EMF vào Eclipse Cài đặt GEF vào Eclipse Hướng dẫn lập trình Eclipse RAP cho người mới bắt đầu Ứng dụng Workbench (trước e4) Hướng dẫn lập trình Eclipse RCP 3 cho người mới bắt đầu Ứng dụng Workbench Ứng dụng Eclipse RCP 3 đơn giản Tương tác View và Editor Java API cho HTML & XML Sử dụng SAX phân tích tài liệu XML Phân tích XML bằng cách sử dụng mô hình DOM Hướng dẫn sử dụng JDOM2 phân tích tài liệu XML Hướng dẫn sử dụng JAXB Hướng dẫn sử dụng Java XStream Hướng dẫn sử dụng Java Jsoup phân tích HTML http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 22/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Các thư viện mã nguồn mở Java Hướng dẫn sử dụng Skype Java API Hướng dẫn sử dụng Java Json Processing API (JSONP) Hướng dẫn sử dụng Scribe OAuth Java API với Google OAuth 2 Hướng dẫn sử dụng Restfb Java API cho Facebook Hướng dẫn sử dụng JDOM2 phân tích tài liệu XML Hướng dẫn sử dụng Java XStream Hướng dẫn sử dụng Java Jsoup phân tích HTML Lấy thông tin địa lý dựa trên địa chỉ IP sử dụng GeoIP2 Java API Tài liệu mới nhất Hướng dẫn sử dụng Android MediaPlayer và VideoView Hướng dẫn cài đặt phần mềm quản lý tăng tốc phần cứng Intel® HAXM Hướng dẫn sử dụng Android GridView Cài đặt công cụ phát triển C/C++ vào Eclipse Hướng dẫn cài đặt trình biên dịch C/C++ CygWin Hướng dẫn cài đặt và cấu hình Visual Studio 2013 Hướng dẫn cài đặt trình biên dịch C/C++ MinGW Hướng dẫn sử dụng Java XStream Hướng dẫn sử dụng C# Generics Hướng dẫn xử lý JSON trong Android http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 23/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter 47% 14% www.lazada.vn www.lazada.vn Máy may mini gia đình ichibai (Trắng) 238,000 Mua ngay Đèn bàn compact Philips QDS300 GREY(Xám) 336,000 Mua ngay http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 24/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter o7planning.org http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 25/25 [...]... http://o7planning.org/web/fe/default/vi/document/753859/huongdansudung java servlet filter 22/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Các thư viện mã nguồn mở Java Hướng dẫn sử dụng Skype Java API Hướng dẫn sử dụng Java Json Processing API (JSONP) Hướng dẫn sử dụng Scribe OAuth Java API với Google OAuth 2 Hướng dẫn sử dụng Restfb Java API cho Facebook Hướng dẫn sử dụng JDOM2 phân tích tài liệu XML Hướng dẫn sử dụng Java XStream Hướng dẫn sử dụng Java Jsoup phân tích HTML... 77 78 Hướng dẫn sử dụng Java Servlet Filter import javax .servlet. Filter; import javax .servlet. FilterChain; import javax .servlet. FilterConfig; import javax .servlet. ServletException; import javax .servlet. ServletRequest; import javax .servlet. ServletResponse; import javax .servlet. annotation.WebFilter; import javax .servlet. http.HttpServletRequest; @WebFilter(urlPatterns = { "/*" }) public class JDBCFilter implements Filter {... Thư viện điều khiển các loại cơ sở dữ liệu khác nhau trong Java Hướng dẫn sử dụng JDBC kết nối cơ sở dữ liệu Hướng dẫn nén và giải nén trong Java Java Compression Hướng dẫn sử dụng Java Reflection http://o7planning.org/web/fe/default/vi/document/753859/huongdansudung java servlet filter 20/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Hướng dẫn gọi phương thức từ xa với Java RMI Hướng dẫn lập trình Java Socket Lập trình Java ứng dụng Desktop hoặc các ứng dụng Web giao diện giống ứng dụng Desktop nên chọn giải pháp nào?... Lập trình Java ứng dụng Desktop hoặc các ứng dụng Web giao diện giống ứng dụng Desktop nên chọn giải pháp nào? Hướng dẫn lập trình Java Desktop sử dụng SWT Hướng dẫn sử dụng Eclipse JFace Hướng dẫn sử dụng Commons IO Hướng dẫn sử dụng Commons Email Hướng dẫn sử dụng Commons Logging Java nâng cao Lập trình Java theo nhóm sử dụng Eclipse và SVN Tùy biến trình biên dịch java sử lý Annotation của bạn (Annotation Processing Tool) Hướng dẫn lập trình Java hướng khía cạnh với AspectJ (AOP)... Học nhanh Java cho người mới bắt đầu JDK Javadoc định dạng CHM Thừa kế và đa hình trong Java Abstract class và Interface trong Java Access modifier trong Java Hướng dẫn sử dụng Java Enum Hướng dẫn sử dụng Java Annotation So sánh và sắp xếp trong Java Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder Hướng dẫn xử lý ngoại lệ trong Java Java Exception Handling Hướng dẫn sử dụng Java Generics Hướng dẫn sử dụng nền tảng tập hợp (Java Collection Framework)... Hướng dẫn sử dụng Java Generics Hướng dẫn sử dụng nền tảng tập hợp (Java Collection Framework) Hướng dẫn sử dụng luồng vào ra nhị phân Java IO Hướng dẫn sử dụng luồng vào ra ký tự Java IO Hướng dẫn sử dụng Date, Time trong Java Cú pháp và các tính năng mới trong Java 5 Cú pháp và các tính năng mới trong Java 8 Hướng dẫn sử dụng biểu thức chính quy Java Regex Hướng dẫn lập trình đa luồng trong Java Java Multithreading... package org.o7planning.tutorial.servletfilter; import java. io.File; import java. io.IOException; import javax .servlet. Filter; import javax .servlet. FilterChain; import javax .servlet. FilterConfig; import javax .servlet. ServletException; import javax .servlet. ServletRequest; import javax .servlet. ServletResponse; import javax .servlet. annotation.WebFilter; import javax .servlet. annotation.WebInitParam; import javax .servlet. http.HttpServletRequest;... Hướng dẫn lập trình Eclipse RCP 3 cho người mới bắt đầu Ứng dụng Workbench Ứng dụng Eclipse RCP 3 đơn giản Tương tác View và Editor Java API cho HTML & XML Sử dụng SAX phân tích tài liệu XML Phân tích XML bằng cách sử dụng mô hình DOM Hướng dẫn sử dụng JDOM2 phân tích tài liệu XML Hướng dẫn sử dụng JAXB Hướng dẫn sử dụng Java XStream Hướng dẫn sử dụng Java Jsoup phân tích HTML http://o7planning.org/web/fe/default/vi/document/753859/huongdansudung java servlet filter. .. Khai báo Server Tomcat trên Eclipse Hướng dẫn cài đặt và cấu hình Glassfish Web Server Hướng dẫn cài đặt và cấu hình Oracle WebLogic Server Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Hướng dẫn sử dụng Java Servlet Filter Hướng dẫn lập trình Java JSP cho người mới bắt đầu Hướng dẫn sử dụng JSP Standard Tag Library (JSTL) Cài đặt Web Tools Platform vào Eclipse Tạo một ứng dụng Web đơn giản sử dụng Servlet, JSP và JDBC Hướng dẫn sử dụng Google reCAPTCHA trong ứng dụng Web Java. .. Cài đặt Spring Tool Suite vào Eclipse Hướng dẫn cấu hình Static Resource và Resource Bundle trong Spring MVC Hướng dẫn Upload File với Spring MVC Hướng dẫn sử dụng Spring JDBC Ứng dụng Web login đơn giản sử dụng Spring MVC, Spring Security và Spring JDBC Hướng dẫn sử dụng Spring MVC và Velocity Sử dụng Template trong Spring MVC với Apache Tiles Hướng dẫn sử dụng Spring MVC và Spring JDBC Transaction Hướng dẫn sử dụng Spring MVC, Hibernate và Spring Transaction Manager ... http://o7planning.org/web/fe/default/vi/document/753859/huongdansudung java servlet filter 22/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter Các thư viện mã nguồn mở Java Hướng dẫn sử dụng Skype Java API Hướng dẫn sử dụng Java Json Processing API (JSONP) Hướng dẫn sử dụng Scribe OAuth Java API với Google OAuth 2... 78 Hướng dẫn sử dụng Java Servlet Filter import javax .servlet. Filter; import javax .servlet. FilterChain; import javax .servlet. FilterConfig; import javax .servlet. ServletException; import javax .servlet. ServletRequest;... Hướng dẫn sử dụng Scribe OAuth Java API với Google OAuth 2 Hướng dẫn sử dụng Restfb Java API cho Facebook Hướng dẫn sử dụng JDOM2 phân tích tài liệu XML Hướng dẫn sử dụng Java XStream Hướng dẫn sử dụng Java Jsoup phân tích HTML