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; public clas
Trang 11
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;
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:
Trang 22
- 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
Trang 33
3 Đăng ký WebService lên Service Registry
- Right click HelloWorld.wsdl, chọn Web Services/Generate Client
Trang 44
- 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
Trang 55
- 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
Trang 66
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ả:
Trang 77
Trang 88
Tạo WebService 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) {
} } }
- 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;
Trang 99
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ạo WebService (cho class ProcessData.java, class Database.java không tạo WebService)
3 Đăng ký WebService
Trang 1010
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ả