Hướng dẫn sử dụng java servlet filter

25 939 1
Hướng dẫn sử dụng java servlet filter

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 Server­Filter? 3­  Servlet­Filter làm được những gì? 4­  Tạo Project bắt đầu với Servlet­Filter 5­  Cấu hình môi trường chạy 6­  Ví dụ Servlet­Filter đầu tiên 7­  Mô hình làm việc của Filter 8­  Tham số Khởi tạo cho Servlet­Filter 9­  Servlet­Filter url­pattern 10­  Servlet­Filter 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/huong­dan­su­dung­java­servlet­filter 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ề Servlet­Filter, 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/huong­dan­lap­trinh­java­servlet­cho­nguoi­moi­bat­dau 2­ Tại sao cần Server­Filter? 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/huong­dan­su­dung­java­servlet­filter 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­ Servlet­Filter 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 UTF­8 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 Servlet­Filter Trước hết chúng ta tạo một WebApp project để làm việc với Servlet­Filter File/New/Other http://o7planning.org/web/fe/default/vi/document/753859/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 6/25 1/13/2016 Hướng dẫn sử dụng Java Servlet Filter http://o7planning.org/web/fe/default/vi/document/753859/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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 Servlet­Filter 6­ Ví dụ Servlet­Filter đầu tiên Servlet­Filter 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/huong­dan­su­dung­java­servlet­filter ? 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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 Servlet­Filter 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/huong­dan­su­dung­java­servlet­filter ? 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­jdbc­ket­noi­co­so­du­lieu 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 url­pattern 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/huong­dan­su­dung­java­servlet­filter ? 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/huong­dan­su­dung­java­servlet­filter ? 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/huong­dan­lap­trinh­java­jsp­cho­nguoi­moi­bat­dau 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/huong­dan­su­dung­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? 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­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 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 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/huong­dan­su­dung­java­servlet­filter 25/25 [...]... http://o7planning.org/web/fe/default/vi/document/753859/huong­dan­su­dung 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/huong­dan­su­dung 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/huong­dan­su­dung 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/huong­dan­su­dung 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

Ngày đăng: 14/01/2016, 11:30

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan