Les webservices en JAVA

Fermé
forteco Messages postés 8 Date d'inscription dimanche 9 octobre 2011 Statut Membre Dernière intervention 22 juillet 2012 - 20 juil. 2012 à 12:05
 Utilisateur anonyme - 21 juil. 2012 à 09:34
Bonjour,

J'ai créé une application en java qui se communique directement à une base de donnée Mysql à l'aide de JDBC, mais je voudrais que cette application utilise les web services pour se communiquer avec JDBC et ce dernier se communique avec la base de données.
SVP aidez moi et dites moi comment faire et merci :)

A voir également:

2 réponses

forteco Messages postés 8 Date d'inscription dimanche 9 octobre 2011 Statut Membre Dernière intervention 22 juillet 2012
20 juil. 2012 à 19:48
Aidez moi SVP
0
Utilisateur anonyme
21 juil. 2012 à 09:34
Salut,

Le plus simple est d'utiliser les annotations JAX-WS: @WebService et @WebMethod.

Si tu utilises SOAP, tu devras peut être définir certains attributs dans @WebService.

Si tu veux utiliser REST, je te conseille d'utiliser RestEasy (de JBoss) qui est facile d'utilisation.

package hacktrack.webservices;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class JdbcWebserviceDemo {

	@WebMethod(operationName="searchEmployeeByName")
	public List<Employee> chercheEmployeParNom(String texte) {
		Connection c = getConnection();
		Statement s;
		List<Employee> employees = new ArrayList<Employee>();
		try {
			s = c.createStatement();
			StringBuilder sqlQuery = new StringBuilder();
			sqlQuery.append("SELECT e.id,e.lastname,e.firstname,d.name");
			sqlQuery.append(" FROM Employee e, Department d");
			sqlQuery.append(" WHERE e.dept_id=d.depyt_id");
			sqlQuery.append(" AND UPPER(e.lastname) LIKE '%" + texte + "%'");
			ResultSet rs = s.executeQuery(sqlQuery.toString());
			Employee e;
			while(rs.next()){
				e = new Employee();
				e.setId(rs.getInt(0));
				e.setLastname(rs.getString(1));
				e.setFirstname(rs.getString(2));
				e.setDepartmentName(rs.getString(3));
				employees.add(e);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return employees;
	}

	private Connection getConnection() {
		Connection conn = null;
		// ... construit ta connexion ici
		return conn;
	}
}



Et la classe Employee:

package hacktrack.webservices;

public class Employee {
	private String lastname;
	private String firstname;
	private String departmentName;
	private int id;

	public String getLastname() {
		return lastname;
	}

	public void setLastname(String lastname) {
		this.lastname = lastname;
	}

	public String getFirstname() {
		return firstname;
	}

	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public String getDepartmentName() {
		return departmentName;
	}

	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}

	public void setId(int id) {
		this.id=id;		
	}
	
	public int getId(){
		return id;
	}

}


;-)
HackTrack
0