1 TạoWebServicevớiJavavàEclipse GV: Nguyễn Hữu Thể 1. Tạo class Java: HelloWorld.java (lưu trong Project thứ nhất, Ví dụ Project tên: WebService) package nguyenhuuthe; public class HelloWorld { public String sayHello(String name){ return "Hello " + name; } } Chú ý: phải tạo Web server với JRE Runtime + Apache Tomcat và khởi động Web server trước khi tạo Web Service ở bước 2. 2. Chuyển class thành WebService (file WSDL) Right click vào tên class HelloWorld.java, chọn Web Services/Create Web Service, xuất hiện hộp thoại sau: 2 - Chọn các thông số cấu hình mặc định, Next, Next, Finish - Xuất hiện file HelloWorld.wsdl trong thư mục WebContent/wsdl 3 3. Đăng ký WebService lên Service Registry - Right click HelloWorld.wsdl, chọn Web Services/Generate Client 4 - Chọn lại Client project khác với project chứa class HelloWorld.java, ví dụ hình bên dưới chọn tên project thứ 2 là WebServiceClient 5 - Nhấn Next, Finish - Đến đây bạn đã đăng lý xong WebService lên Service Registry ở project thứ 2. Xuất hiện 5 class mới như hình bên dưới. 6 4. Sử dụng WebService - Tạo một class java hoặc 1 file JSP để gọi và sử dụng WebService - Ví dụ: tạo class Test.java trong package client, trong package client phải import package chứa các class đã được đăng ký, như hình bên dưới - Run class, kết quả: 7 8 TạoWebService truy vấn database − Tạo database: db_news − Tạo table: categories CREATE TABLE IF NOT EXISTS `categories` ( `category_id` int(11) NOT NULL, `category_name` varchar(50) NOT NULL, PRIMARY KEY (`category_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `categories` (`category_id`, `category_name`) VALUES (1, 'Văn hóa'), (2, 'Kinh doanh'), (3, 'Thể thao'), (4, 'Công nghệ'); 1. Tạo class Database.java package nguyenhuuthe; import java.sql.Connection; import java.sql.DriverManager; public class Database { static final String url = "jdbc:mysql://localhost:3306/db_news?useUnicode=true&characterEncoding=UTF-8"; static final String username = "root"; static final String password = "123456"; public static Connection conn(){ try{ Class.forName("com.mysql.jdbc.Driver"); Connection con =DriverManager.getConnection(url, username, password); return con; } catch (Exception e) { return null; } } } - Tạo class ProcessData.java để viết các phương thức truy vấn dữ liệu package nguyenhuuthe; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; 9 import java.sql.Statement; public class ProcessData { public void insertCategories1(){ try { Connection con = nguyenhuuthe.Database.conn(); Statement st = con.createStatement(); String sql = "insert into categories values(15, 'Công nghệ')"; st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } public void insertCategories2(String sql){ try { Connection con = Database.conn(); Statement st = con.createStatement(); st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } public void insertData(String sql){ try { Connection con = Database.conn(); Statement st = con.createStatement(); st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } public void insertCategories(int id, String name){ try { Connection con = Database.conn(); Statement st = con.createStatement(); String sql = "insert into categories values(" + id + ", '" + name + "')"; st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } } 2. TạoWebService (cho class ProcessData.java, class Database.java không tạo WebService) 3. Đăng ký WebService 10 4. Sử dụng WebService - Tạo class java hoặc file JSP để gọi các phương thức trên - Tạo trang add_categories.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <body> <form action="process_add_categories.jsp" method="post"> Nhập thông dữ liệu cho Categories <br> Category ID: <input type=text name="id"><br> Category name: <input type=text name="name"><br> <input type=submit value="Thêm"> </form> </body> </html> - Tạo trang process_add_categories.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="nguyenhuuthe.*" %> <html> <body> <% ProcessDataProxy in = new ProcessDataProxy(); in.setEndpoint("http://localhost:8080/WebService/services/ProcessData"); int id2 = Integer.parseInt(request.getParameter("id")); String name2 = request.getParameter("name"); name2 = Database.toUTF8(name2); in.insertCategories(id2, name2); out.println("Đã thêm: " + name2); %> </body> </html> - Kiểm tra database và xem dòng kết quả. . 1 Tạo WebService với Java và Eclipse GV: Nguyễn Hữu Thể 1. Tạo class Java: HelloWorld .java (lưu trong Project thứ nhất, Ví dụ Project tên: WebService) package nguyenhuuthe;. e.printStackTrace(); } } } 2. Tạo WebService (cho class ProcessData .java, class Database .java không tạo WebService) 3. Đăng ký WebService 10 4. Sử dụng WebService - Tạo class java hoặc file JSP để. như hình bên dưới. 6 4. Sử dụng WebService - Tạo một class java hoặc 1 file JSP để gọi và sử dụng WebService - Ví dụ: tạo class Test .java trong package client, trong package client phải