Tải bản đầy đủ (.pdf) (10 trang)

Tạo webservice với java và eclipse

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (860.99 KB, 10 trang )

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 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ạ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) {
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ạ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 để 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ả.

×