主要步骤:
1. 新建webservice项目以及相关准备工作;
2. 新建类,编写方法;
3. 编译并发布项目;
开始:
1. 新建webservice项目以及相关准备工作:
新建webservice项目:
命名OAService2,选择 Java EE 6.0:
导入相关jar包:
调整该项目引用的 jdk:
新建配置文件db.properties:
作用:用于读取数据库db信息。
在目录D:\Workspaces\MyEclipse 10\OAService 下,新建 db.properties,内容如下:
drivers=oracle.jdbc.driver.OracleDriver
maxconn=100
url= jdbc:oracle:thin:@ip:1521:sid
user=username
password=password
2. 新建类,编写方法:
新建包 com.noahark.method:
新建类 DBUtil(连接数据库):
编写DBUtil类:
内容:
package com.noahark.method;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public class DBUtil {
private static String drivers;
private static String url;
private static String user;
private static String password;
/*
* 静态代码块,类初始化时加载数据库驱动
*/
static {
try {
// 加载db.properties配置文件
FileInputStream in = new FileInputStream(System.getProperty("user.dir")+"/db.properties");
Properties properties = new Properties();
if(in !=null)
properties.load(in);
// 获取驱动名称、url、用户名以及密码
drivers = properties.getProperty("drivers");
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("password");
/* System.out.println(drivers);
System.out.println(url);
System.out.println(user);
System.out.println(password);*/
// 加载驱动
Class.forName(drivers);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/*
* 获取连接
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);
}
/*
* 释放资源
*/
public static void releaseResources(ResultSet resultSet,
Statement statement, Connection connection) {
try {
if (resultSet != null)
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
resultSet = null;
try {
if (statement != null)
statement.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
statement = null;
try {
if (connection != null)
connection.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
connection = null;
}
}
}
}
}
新建类Feebudget:
(过程略)
编写类Feebudget:
内容:
package com.noahark.method;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
essbase to oa
fee budget
*/
public class Feebudget {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
public String Query(String sql) throws IOException {
StringBuilder result = new StringBuilder();
try {
System.out.println(sql);
connection = DBUtil.getConnection();
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
//System.out.println(resultSet);
result.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
result.append("\n");
while(resultSet.next()){
result.append("\n");
result.append("").append(resultSet.getString("ACCOUNT")).append("\n");
result.append("").append(resultSet.getString("ENTITY")).append("\n");
result.append("").append(resultSet.getString("YEARS")).append("\n");
result.append("").append(resultSet.getString("PERIOD")).append("\n");
result.append("").append(resultSet.getString("DATA")).append("\n");
result.append("\n");
}
result.append("\n");
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.releaseResources(resultSet, statement, connection);
}
// Logfeebudget log = new Logfeebudget();
// log.insertLog(sql); //数据库log日志表记录传递数据
// log.downloadLog(result.toString()); //本地txt记事本记录
return result.toString();
}
}3. 新建类,发布SERVICE:
新建包com.noahark.service:
(过程略)。
新建类Service:
(过程略)。
编写类Service:
内容:
package com.noahark.service;
import java.io.IOException;
import java.sql.SQLException;
import com.noahark.method.*;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Service {
//fee budget
public String getData_month(String year) throws IOException{
String sql = null;
sql = "select * from ESS_TO_OA_FEE a where years = '"
+ year
/* + "' and period = '"
+ month*/
+ "' and data_type = 'OA_FEEBUDGET'";
Feebudget fb = new Feebudget();
return fb.Query(sql);
}
//发布webService服务
public static void main(String[] args) {
Endpoint.publish("http://172.16.0.181:8009/Service/Service", new Service());
System.out.println("service success!");
}
}
4.发布webservice服务:
直接编译Service类,即可发布服务。
但是myeclipse不可以关闭,否则服务会停止。