Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
2,68 MB
Nội dung
1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu o7planning MENU 47% Máy may mini gia đình ichibai (Trắng) 17% 238,000 MUA NGAY Máy đuổi côn trùng Pest Reject LP03 44% 98,525 MUA NGAY Thẻ nhớ tốc độ cao Micro SDHC 32GB 195,000 MUA NGAY Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 1 Giới thiệu 2 Servlet là gì? 3 Vòng đời của Servlet 4 Cài đặt Tomcat Web Server 5 Tạo Web Project bắt đầu với Servlet 6 Cấu hình Eclipse để chạy Web trên tomcat 7 Một số class tham gia vào các ví dụ 8 Tạo Servlet đầu tiên của bạn 9 Tham số khởi tạo Servlet 10 Cấu hình Servlet sử dụng Annotation 11 Servlet Url Pattern 12 Lấy các thông tin cơ bản của Servlet 13 Forward (Chuyển tiếp) 14 Redirect (Chuyển hướng) 15 Phiên làm việc (Session) 16 Hướng dẫn sử dụng ServletFilter 17 Hướng dẫn lập trình JSP http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 1/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 1 Giới thiệu Tài liệu này được viết dựa trên: Eclipse 4.5 (MARS) (ok for Eclipse 4.4 LUNA) Servlet 3.0 Tomcat 8 Document History: 05072014: Document based on (Eclipse 4.3, Servlet 3.0, Tomcat 7.x) 18112014: Update to (Eclipse 4.4, Servlet 3.0, Tomcat 8.x) 17072015: Update to (Eclipse 4.5, Servlet 3.0, Tomcat 8.x, add more examples ) 2 Servlet là gì? Java Servlets là chương trình chạy trên một Web hoặc ứng dụng máy chủ và hành động như một lớp trung gian giữa một yêu cầu đến từ một trình duyệt Web hoặc HTTP khách khác và cơ sở dữ liệu hoặc các ứng dụng trên máy chủ HTTP Sử dụng Servlets, bạn có thể thu thập đầu vào từ người dùng thông qua các hình thức trang web, từ một cơ sở dữ liệu hoặc một nguồn khác, và tạo ra các trang web động http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 2/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 3 Vòng đời của Servlet Hình dưới đây minh họa về vòng đời của một Servlet. Từ khi nó được tạo ra, sử lý các đòi hỏi từ người dùng, cho tới lúc nó bị hủy http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 3/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 10 0 0 Có 5 bước: 1. Tải Servlet Class vào bộ nhớ 2. Tạo đối tượng Servlet 3. Gọi method servlets init() 4. Gọi method servlets service() 5. Gọi method servlets destroy() Bước 1, 2 và 3 được thực thi một lần duy nhất, khi mà servlet được nạp lần đầu. Mặc định các servlet không được tải lên cho tới khi nó nhận một đòi hỏi đầu tiên từ người dùng. Bạn có thể buộc ServletContainer (Bộ chứa các servlet) tải các servlet khi nó khởi động Bước 4 được thực thi nhiều lần, mỗi khi có đòi hỏi từ phía người dùng tới servlet Bước 5 nó được thực thi khi bộ chứa servlet (Servlet Container) trút bỏ (unloaded) servlet Bạn có thể xem hình minh họa tiếp theo để hiểu hơn về vòng đời của Servlet http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 4/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Khi yêu cầu (request) của người dùng tới Servlet, servlet sẽ gọi phương thức service() để phục vụ yêu cầu của người dùng, service() sẽ gọi một trong hai phương thức doGet() hoặc doPost(). Trong servlet của bạn, bạn cần ghi đè và sử lý tại các phương thức này Như vậy khi người dùng gửi yêu cầu một Servlet, servlet sẽ được tạo ra tại thời điểm có yêu cầu lần đầu tiên tới, đồng thời sẽ gọi phương thức init() của servlet để khởi tạo cho nó, init() được gọi duy nhất 1 lần. Phương thức destroy() dùng để hủy servlet, nó sẽ được gọi một lần duy nhất khi gỡ bỏ triển khai (undeloy) ứng dụng web hoặc tắt (shutdown) web server 4 Cài đặt Tomcat Web Server Để bắt đầu với Servlet, bạn cần download Tomcat Web Server và khai báo nó với Eclipse. Bạn có thể xem hướng dẫn tại: http://o7planning.org/web/fe/default/vi/document/19569/khaibaoservertomcattreneclipse 5 Tạo Web Project bắt đầu với Servlet File/New/Other http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 5/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Project Name: ServletTutorial http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 6/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 7/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Đây là hình ảnh Project được tạo ra: http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 8/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Tạo file index.html: index.html 10 11 12 Insert title here Hello World ? 6 Cấu hình Eclipse để chạy Web trên tomcat Cho tới lúc này, chúng ta vẫn chưa làm gì tới Servlet. Và giờ chúng ta cấu hình để chạy được ứng dụng web kia. Sau đó chúng mới bắt đầu với Servlet http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 9/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Trên eclipse, nhấn phải vào Project ServletTutorial, chọn Properties: http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 10/51 1/13/2016 44 45 46 47 48 49 50 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } Chạy lại Webserver và chạy lần lượt 2 URL: 1. http://localhost:8080/ServletTutorial/other/forwardDemo 2. http://localhost:8080/ServletTutorial/other/forwardDemo?forward=true Trong trường hợp 1: Không có forward, dữ liệu nhìn thấy trên trang là của ForwardDemoServlet tạo ra Trường hợp 2: Có forward sang servlet ShowMeServlet. Trong trường hợp này URL trên trang là không đổi, trong khi dữ liệu là của ShowMeServlet tạo ra Forward (chuyển tiếp) thường được sử dụng trong một số tình huống chẳng hạn người dùng yêu cầu servlet A, tuy nhiên trang này bắt buộc phải login trước, trong servlet A kiểm tra thấy nếu chưa login thì chuyển tiếp sang servlet Login Quay lại với RequestDispatcher, chúng ta có 2 cách để lấy đối tượng RequestDispatcher http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 37/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Trường hợp request.getServletContext().getRequestDispatcher(url) trả về RequestDispatcher có vị trí tương đối với contextPath (có vị trí tương đối với thư mục gốc của website) http://localhost:8080/contextPath http://localhost:8080/ServletTutorial Trường hợp request.getRequestDispatcher(url) trả về RequestDispatcher có vị trí tương đối với trang hiện http://localhost:8080/ServletTutorial/other/forwardDemo Vì vậy URL truyền vào bạn cần tính đến ví trí tương đối này ‘ Chú ý: Redirect (Chuyển hướng) cho phép bạn chuyển hướng tới các trang bao gồm cả các trang nằm ngoài Website Forward (Chuyển tiếp) chỉ cho phép chuyển tới các trang nằm trong Website, đồng thời có thể chuyển dữ liệu giữa 2 trang thông qua request.setAttribute 14 Redirect (Chuyển hướng) Chuyển hướng (Redirect): Khi một yêu cầu (request) từ phía người dùng tới một Servlet (Trang A), servlet này có thể chuyển yêu cầu này tới một trang khác (Trang B), và kết thúc nhiệm vụ của nó. Trang được chuyển hướng tới có thể là trang trong ứng dụng của bạn, hoặc có thể là một trang bất kỳ. Địa chỉ trên trình duyệt của người dùng lúc này sẽ hiển thị đường dẫn của trang B Khác với chuyển tiếp (Forward). Với Redirect bạn không thể sử dụng request.setAttribute( ) để truyền dữ liệu từ trang A sang trang B http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 38/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu ShowMeServlet.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 package org.o7planning.tutorial.servlet.other; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.o7planning.tutorial.beans.Constants; @WebServlet("/showMe") public class ShowMeServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Lấy giá trị trong Attribute gửi tới (Từ trang forward) String value = (String) request .getAttribute(Constants.ATTRIBUTE_USER_NAME_KEY); ServletOutputStream out = response.getOutputStream(); out.println("ShowMeServlet"); out.println(value); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau ? 39/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu RedirectDemoServlet.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 45 46 ? package org.o7planning.tutorial.servlet.other; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/other/redirectDemo") public class RedirectDemoServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Lấy parameter trên URL // http://localhost:8080/ServletTutorial/other/redirectDemo?redirect=true String redirect = request.getParameter("redirect"); if ("true".equals(redirect)) { System.out.println("Redirect to ShowMeServlet"); // contextPath luôn luôn là "" hoặc "/contextPath" String contextPath = request.getContextPath(); // ==> /ServletTutorial/showMe response.sendRedirect(contextPath + "/showMe"); return; } ServletOutputStream out = response.getOutputStream(); out.println("Text of RedirectDemoServlet"); out.println("‐ servletPath=" + request.getServletPath()); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } Chạy lại webserver và gõ lần lượt 2 đường dẫn sau lên trình duyệt: 1. http://localhost:8080/ServletTutorial/other/redirectDemo 2. http://localhost:8080/ServletTutorial/other/redirectDemo?redirect=true Với đường dẫn thứ nhất nhận được: http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 40/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Với đường dẫn thứ 2, request đã chuyển hướng sang ShowMeServlet, đường dẫn URL bạn thấy trên trình duyệt là đường dẫn của servlet ShowMeServlet 15 Phiên làm việc (Session) Đối tượng HttpSession mô tả một phiên làm việc (session) của người dùng. Một phiên làm việc của người dùng chứa nhiều thông tin người dùng trên nhiều yêu cầu (request) đã gửi tới HTTP server Khi lần đầu tiên người dùng vào trang web của bạn, người dùng sẽ nhận được một ID duy nhất phân biệt với các người dùng khác. ID này thường được lưu trữ trong cookie hoặc tham số của request Here is how you access the session object: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); } ? Bạn có thể lưu trữ các giá trị vào đối tượng session, và lấy chúng ra sau đó, có thể là tại một trang khác. Trước http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 41/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu hết, hãy xem cách bạn có thể lưu trữ giá trị vào trong đối tượng session: // Lấy ra đối tượng HttpSession HttpSession session = request.getSession(); // Giả sử người dùng đã login thành công UserInfo loginedInfo = new UserInfo("Tom", "USA", 5); // Lưu trữ thông tin người dùng vào Session theo 1 thuộc tính // Bạn có thể lấy lại thông tin người dùng theo thuộc tính này session.setAttribute(Constants.SESSION_USER_KEY, loginedInfo); ? Và lấy lại các thông tin đã lưu trữ trong Session tại một trang nào đó ? // Lấy ra đối tượng HttpSession HttpSession session = request.getSession(); // Lấy ra đối tượng UserInfo đã được lưu vào session // sau khi người dùng login thành công UserInfo loginedInfo = (UserInfo) session.getAttribute(Constants.SESSION_USER_KEY); Xem ví dụ đầy đủ: LoginServlet.java package org.o7planning.tutorial.servlet.session; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; 10 import javax.servlet.http.HttpServletResponse; 11 import javax.servlet.http.HttpSession; 12 13 import org.o7planning.tutorial.beans.Constants; 14 import org.o7planning.tutorial.beans.UserInfo; 15 16 @WebServlet(urlPatterns = { "/login" }) 17 public class LoginServlet extends HttpServlet { 18 19 private static final long serialVersionUID = 1L; 20 21 public LoginServlet() { 22 } 23 24 @Override 25 protected void doGet(HttpServletRequest request, HttpServletResponse response) 26 throws ServletException, IOException { 27 28 ServletOutputStream out = response.getOutputStream(); 29 30 // Lấy ra đối tượng HttpSession 31 HttpSession session = request.getSession(); 32 33 // Giả sử người dùng đã login thành công 34 UserInfo loginedInfo = new UserInfo("Tom", "USA", 5); 35 36 // Lưu trữ thông tin người dùng vào Session theo 1 thuộc tính 37 // Bạn có thể lấy lại thông tin người dùng theo thuộc tính này 38 session.setAttribute(Constants.SESSION_USER_KEY, loginedInfo); http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau ? 42/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 38 39 40 41 42 43 44 45 46 47 48 49 50 51 session.setAttribute(Constants.SESSION_USER_KEY, loginedInfo); out.println(""); out.println("Session example"); out.println(""); out.println("You are logined!, info stored in session"); out.println("View User Info"); out.println(""); out.println(""); } } UserInfoServlet.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 45 46 47 48 49 ? package org.o7planning.tutorial.servlet.session; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.o7planning.tutorial.beans.Constants; import org.o7planning.tutorial.beans.UserInfo; @WebServlet(urlPatterns = { "/userInfo" }) public class UserInfoServlet extends HttpServlet { private static final long serialVersionUID = 1L; public UserInfoServlet() { } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream out = response.getOutputStream(); // Lấy ra đối tượng HttpSession HttpSession session = request.getSession(); // Lấy ra đối tượng UserInfo đã được lưu vào session // sau khi người dùng login thành công UserInfo loginedInfo = (UserInfo) session.getAttribute(Constants.SESSION_USER_KEY); // Chưa login, chuyển hướng về trang login (LoginServlet) if (loginedInfo == null) { // ==> /ServletTutorial/login response.sendRedirect(this.getServletContext().getContextPath() + "/login" return; } out.println(""); out.println("Session example"); out.println(""); out.println("User Info:"); 50 http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 43/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 50 51 52 53 54 55 56 57 58 59 out.println("User Name:" + loginedInfo.getUserName() + ""); out.println("Country:" + loginedInfo.getCountry() + ""); out.println("Post:" + loginedInfo.getPost() + ""); out.println(""); out.println(""); } } Chạy ví dụ: http://localhost:8080/ServletTutorial/login 16 Hướng dẫn sử dụng ServletFilter Tiếp theo bạn có thể xem tiếp tài liệu về Filter trong Servlet: http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 17 Hướng dẫn lập trình JSP Tiếp theo Servlet bạn có thể tìm hiểu tiếp JSP tại đây: http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 44/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu http://o7planning.org/web/fe/default/vi/document/20397/huongdanlaptrinhjavajspchonguoimoibat 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 http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 45/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 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 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) http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 46/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 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 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 http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 47/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 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 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 http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 48/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 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/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 49/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Vòi xịt sân vườn thông minh Magic Www.Lazada.Vn Hose Máy may mini Đèn bàn gia đình ichibai compact Philips (Trắng) QDS300 Www.Lazada.Vn Www.Lazada.Vn GREY(Xám) 149,000 453,000 390,000 139,000 238,000 336,000 Mua ngay Mua ngay Mua ngay http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 50/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu o7planning.org http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinhjavaservletchonguoimoibatdau 51/51 [...]... 42 43 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu package org.o7planning.tutorial .servlet; import java. io.IOException; import javax .servlet. ServletException; import javax .servlet. ServletOutputStream; import javax .servlet. annotation.WebServlet; import javax .servlet. http.HttpServlet; import javax .servlet. http.HttpServletRequest; import javax .servlet. http.HttpServletResponse; @WebServlet(urlPatterns = { "/" })... http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 18/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 19/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Lúc này project đã không còn thông báo lỗi Tiếp theo bạn cần khai báo HelloServlet và đường dẫn để truy cập vào nó trong web.xml. Bạn cần thêm đoạn... http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 12/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 13/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Website chạy trên trình duyệt của Eclipse Nguyên tắc hoạt động: Khi bạn nhập vào đường dẫn: http://localhost:8080/ServletTutorial/index.html... http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 21/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu http://localhost:8080/ServletTutorial/hello Bạn có thể xem nguyên tắc hoạt động của nó theo hình minh họa dưới đây: http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 22/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu. ..1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Chọn đến vị trí cài đặt Tomcat 8 của bạn http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 11/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu Nhấn phải chuột vào project ServletTutorial, chọn "Run As/Run on Server" http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau... servlet có tên helloServlet, gắn với class HelloServlet ‐‐> helloServlet< /servlet name> 4 org.o7planning.tutorial .servlet. HelloServlet< /servlet class> http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau ? 20/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 4 5 6 7 8... package org.o7planning.tutorial .servlet; import java. io.IOException; import javax .servlet. ServletConfig; import javax .servlet. ServletException; import javax .servlet. ServletOutputStream; import javax .servlet. annotation.WebInitParam; import javax .servlet. annotation.WebServlet; import javax .servlet. http.HttpServlet; import javax .servlet. http.HttpServletRequest; import javax .servlet. http.HttpServletResponse; // Bạn có thể cấu hình một hoặc nhiều đường dẫn truy cập vào Servlet này... http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 35/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu ForwardDemoServlet .java 1 2 3 4 5 6 7 8 9 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 ? package org.o7planning.tutorial .servlet. other; import java. io.IOException; import javax .servlet. RequestDispatcher; import javax .servlet. ServletException;... Bạn có thể truy cập Servlet này theo một trong 2 đường dẫn sau: 1. 2. http://localhost:8080/ServletTutorial/annExample http://localhost:8080/ServletTutorial/annotationExample http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 27/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu 11 Servlet Url Pattern Có 4 cách để cấu hình một đường dẫn cho Servlet: ... ? 8 Tạo Servlet đầu tiên của bạn http://o7planning.org/web/fe/default/vi/document/12760/huongdanlaptrinh java servlet cho nguoimoibatdau 16/51 1/13/2016 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu HelloServlet .java 1 2 3 4 5 6 7 8 9 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 package org.o7planning.tutorial .servlet; import java. io.IOException; ... 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 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... 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. .. 43 Hướng dẫn lập trình Java Servlet cho người mới bắt đầu package org.o7planning.tutorial .servlet; import java. io.IOException; import javax .servlet. ServletException; import javax .servlet. ServletOutputStream;