Java编写一个WebService并在Tomcat上发布
2021-03-08 14:29
标签:ping com start 实体类 getpass ESS tor row res Java编写一个WebService并在Tomcat上发布 标签:ping com start 实体类 getpass ESS tor row res 原文地址:https://www.cnblogs.com/dennyw/p/14199964.htmlJava编写一个WebService并在Tomcat上发布
本例采用Myeclipse 2016 CI 6,JDK1.8 。新建一个Web Service Project。
选择如下设置:
在src目录下建个包:
编写一个接口,其中一个方法返回ArrayList,另一个方法返回JSON:
package Services;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface ResultService
编写四个JavaBean实体类用于返回泛型ArrayList
package Services;
public class Employee {
private String WORKCODE;
private String LASTNAME;
private Long SUBCOMPANYID1;
private Long DEPARTMENTID1;
private String JOBTITLEMARK;
private String JOBCALL;
private String JOBLEVEL;
private long MANAGERID;
private String STATUS;
private String LOCATIONNAME;
private String MOBILE;
private String MOBILECALL;
private String TELEPHONE;
private String STARTDATE;
private String LASTMODDATE;
//set and get.......
}
package Services;
public class Company {
private long ID;
private String SUBCOMPANYNAME;
//get and set.......
}
package Services;
public class Dept {
private long ID;
private String DEPARTMENTNAME;
private long SUPDEPID;
private long SUBCOMPANYID1;
private String DEPARTMENTMARK;
private String CANCELED;
//get and set......
}
package Services;
public class DeptLeader {
private long BMFZR;
private long BM;
//get and set....
}
编写四个子类实现上面这个接口,这里就只举例一个子类吧,其他三个模式一样:
package Services;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.jws.WebService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@WebService
public class EmployeeServiceImpl implements ResultService
其中,JSON类的代码如下图所示,该类能将ArrayList转化为Json字符串,如下图所示,使用JSONArray需要引用几个jar包,点击这里下载 json-lib jar包
package Services;
import java.util.ArrayList;
import net.sf.json.JSONArray;
public class Json
编写ServicePublish类,里面有个main函数,用于本地发布测试。
package Services;
import javax.xml.ws.Endpoint;
public class ServicePublish {
public static void main(String[] args){
PropertiesServiceImpl pro = new PropertiesServiceImpl();
String baseAddress = pro.getUrl();
String employeeAddress = baseAddress + "Service/Employee";
String companyAddress = baseAddress + "Service/Company";
String deptAddress = baseAddress + "Service/Dept";
String deptLeaderAddress = baseAddress + "Service/DeptLeader";
Object implementorEmployee = new EmployeeServiceImpl();
Object implementorCompany = new CompanyServiceImpl();
Object implementorDept = new DeptServiceImpl();
Object implementorDeptLeader = new DeptLeaderServiceImpl();
Endpoint.publish(employeeAddress, implementorEmployee);
Endpoint.publish(companyAddress, implementorCompany);
Endpoint.publish(deptAddress, implementorDept);
Endpoint.publish(deptLeaderAddress, implementorDeptLeader);
}
}
右键,选择"Run As" ——"Java Application",如下图所示,进行本地编译测试:
能出现XML说明成功了,到此为止本地运行成功:
下面将此WebService部署到TomCat上
首先需要添加一些jar包,总共25个,将这25个jar包添加到Tomcat路径的lib文件夹下。25个jar包的目录如下图所示:点击这里下载这25个jar包
在web项目的WEB-INF目录下,创建sun-jaxws.xml配置文件,内容如下图所示:
然后还是在web项目的web-info目录下,创建web.xml配置文件,内容下图所示:
右键点击项目,将整个web项目导出为war包,如下图所示:
选择导出路径,还可以选择覆盖原文件:
将war包放入Tomcat的webapps文件夹下,如下图所示:
因为服务器中,默认的8080端口号已经被占用,所以我需要修改Tomcat默认的端口号, 在Tomcat的目录结构下找到conf文件夹,里面有个server.xml文件。
修改为8090端口,如下图所示:
启动Tomcat,并输入Url,Url是地址+web项目名称+服务名。即可访问服务:
上一篇:C++__动态对象
下一篇:Java对象赋值与引用
文章标题:Java编写一个WebService并在Tomcat上发布
文章链接:http://soscw.com/essay/61847.html