IDEA 开发一个简单的 web service 项目,并打包部署到 Tomcat

这篇具有很好参考价值的文章主要介绍了IDEA 开发一个简单的 web service 项目,并打包部署到 Tomcat。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


实现的效果

  • 通过 IDEA 创建一个简单的 web service 项目

  • 用测试类运行这个 web service 项目

  • 通过 IDEA 把 web service 项目打成 war 包

  • web service 项目部署到 Tomcat

  • 访问 web service 服务页面

  • 编写一个 web service 客户端(生成 web service 服务代码)

  • 客户端调用 web service 接口


一、创建 web service 项目

IDEA 创建项目,选择 Java 项目,Next

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

填写你的项目名字

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

Finish 后创建一个空项目

右键项目包名,选择 Add Framework Support

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

勾选 WebServices,选择 Download

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

等待一会,项目就变成这样,lib 下就会有需要的包

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

里面已经自动给我们创建了一个模板例子了,我们不管他的例子,删除掉,下面用我写的这个 demo

我的 demo 项目很简单,只有这几个文件

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端
Hello 类代码:

package service;
import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService()
public class Hello {

  // 对外提供的接口 1
  @WebMethod
  public String sayHello(String from) {
    String result = "李启业 " + from;
    System.out.println("接口被调用啦");
    return result;
  }

  // 对外提供的接口 2
  @WebMethod
  public String test(String from) {
    String result = "测试接口 " + from;
    System.out.println("接口被调用啦");
    return result;
  }

}

sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8"?>

<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>

    <!-- 注意这里: -->
    <!-- implementation 必须对上你写的带@WebService的类的路径 -->
    <!-- url-pattern 指定的就是这个 web service 的接口地址 -->
    <!-- 例如:这个项目最终打包成 webservice.war,访问地址就是 http://localhost:8080/webservice/hello -->

    <endpoint
            name="Hello"
            implementation="service.Hello"
            url-pattern="/hello"/>

</endpoints>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!-- 如果用 tomcat 直接部署 web service ,这个文件好像没什么用,它是创建 web service 项目自带的,我没有去修改它 -->

    <listener>
        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
    </listener>
    <servlet>
        <description>JAX-WS endpoint</description>
        <display-name>WSServlet</display-name>
        <servlet-name>WSServlet</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>WSServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
</web-app>

TestServer 类代码

package service.test;

import service.Hello;

import javax.xml.ws.Endpoint;

/**
 * @author liqiye
 * @description 用来测试运行 web service 服务的
 * @date 2023/2/21
 */
public class TestServer {

    public static void main(String[] args) {
        Object implementor = new Hello();
        // 这个地址在这里测试用什么都可以,只是我想要刚好对上等下用tomcat部署的连接
        String address = "http://localhost:8080/webservice/hello";
        Endpoint.publish(address, implementor);
    }

}

到这里,web service 项目的服务端就开发好了!

二、测试类运行 web service 服务端

上面代码的 TestServer 就是我们的测试类,直接运行它

访问连接:http://localhost:8080/webservice/hello

看到下面的页面,证明 web service 项目启动成功:
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

三、IDEA 打包 web service 项目

注意上面代码中的 sun-jaxws.xml 文件,我在上面已经做了注释,url-pattern 指定的是部署后对外的接口
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端
配置项目的 Artifacts,先选 Web Application Exploded
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端
然后再选 Web Application Archive
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

点击 IDEA 上面的 Build — Build Artifacts
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

生成 out 目录,里面已经有打好的 war 包了

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

四、web service 项目部署到 Tomcat

上面我们已经打包好了 war,要部署到 Tomcat

启动 Tomcat,然后把这个 war 包放进去 /webapps 等待解压部署即可。

访问地址和刚才用测试类启动的连接是一样的: http://localhost:8080/webservice/hello

看到的页面也是一样

五、web service 客户端

我们已经完成 web service 的部署,也访问到了首页,那我们怎么调用刚才里面的 Hello 接口呢?

我们通过编写一个java程序作为客户端,去调用刚才的接口!

创建一个空白项目:
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

进去到 liqiye 目录,打开cmd,用 jdk 提供的命令,连接目标 web service 服务生成对应的调用代码

wsimport -s . http://localhost:8080/webservice/hello?wsdl

注意:web service 服务地址后面必须带上 ?wsdl

然后发现项目目录下自动生成了如下代码:
idea生成webservice客户端代码,java,intellij-idea,tomcat,前端

编写客户端的测试类:

package com.liqiye.client;

import service.HelloService;
import service.Hello;

public class TestClient {
    public static void main(String[] args) throws Exception {
        //构建服务视图对象(从service标签name属性获取)
        HelloService service = new HelloService();
        //获取服务的实现类(从portType的name属性获取
        Hello hello = service.getPort(Hello.class);
        //调用方法(portType下的operation属性获取
        String info = hello.sayHello("你好");
        System.out.println("调用服务端接口方法结果是:"+info);

        String info2 = hello.test("你好");
        System.out.println("调用服务端接口方法结果是:"+info2);
    }
}

执行这个测试类,看到已经成功调用 web service 的接口:

idea生成webservice客户端代码,java,intellij-idea,tomcat,前端


总结

欢迎指出我的错误!文章来源地址https://www.toymoban.com/news/detail-609694.html

到了这里,关于IDEA 开发一个简单的 web service 项目,并打包部署到 Tomcat的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA运行第一个Java简单程序(新建项目到运行类)

    目录 前言 一、准备工作 JDK下载安装 1.IDEA下载安装  二、IDEA建立项目 (一)新建项目(银河系) (二)新建模块(地球) (三)新建包(国家) (四)新建类(省份) (五)新建main方法(省会城市) (六)新建方法(楼层)  运行类 额外讲解 在刚开始学习Java中,会遇

    2024年01月16日
    浏览(39)
  • 关于前端vue打包项目以及静态网站部署项目到阿里云ECS云服务器初学简单教程

    准备工作: 1.首先进入https://ecs.console.aliyun.com/ 领取或者购买一台简单的ECS云服务器。 进入网站注册登录后拉到页面最下面或者顶部搜索免费云服务器领取立即试用 ,当然富哥花钱买一台服务器也行。   创建完了以后可以进入云服务ECS工作台,然后就是以下界面   点击右边

    2024年02月04日
    浏览(46)
  • 【Tomcat】如何在idea上部署一个maven项目?

    目录 1.创建项目 2.引入依赖 3.创建目录 4.编写代码 5.打包程序 6.部署项目 7.验证程序 什么是Tomcat和Servlet? 以idea2019为例: 1.创建项目 1.1 首先创建maven项目 1.2 项目名称    2.引入依赖 2.1 网址输入 mvnrepository.com 进入maven中央仓库-地址。点击搜索 servlet,找到Java Servlet API。  2

    2024年02月08日
    浏览(45)
  • Web项目部署环境搭建:JDK + Tomcat + IDEA +MySQL

    出来混总是要还的,记得大学本科四年,并不喜欢java以及web后端,把前端Html、css、JavaScript修炼得还可以之后,小组作业就一直抱各位大佬的大腿,大腿带我飞。就这样混过了本科的所有实践课。虽然研究生阶段也要用到编程语言,面向对象还有各种算法编程也是躲不掉的,

    2024年02月06日
    浏览(39)
  • java gradle 项目 在idea上 搭建一个简单的thrift实例

    Thrift是RPC通信的一种方式,可以通过跨语言进行通信,最近项目需要进行跨语言的通信,因此首先尝试搭建了一个简单的thrift框架,因为网上的实例大都参差不全,通过gpt查询得到的结果对我帮助更大一点,但是也不够仔细,因此做此总结,希望给需要的人帮助。 1 创建一个

    2024年02月11日
    浏览(28)
  • 超详细的tomcat部署web项目与idea中配置web项目方法及常见问题解决方法

    本文章主要介绍tomcat环境的配置,idea有/无骨架配置web项目,idea一般项目中配置tomcat,配置jsp运行环境,便捷配置jsp环境的配置,及常见的问题,内容有点长,建议点击目录跳转阅读,文中所含均为官方文件,请放心使用。 下载tomcat 配置tomcat当然是先下载tomcat啦,tomcat为绿

    2024年01月17日
    浏览(44)
  • 使用IDEA部署Web项目到本地的Tomcat服务器

    1.1 Tomcat下载与安装启动 下载地址:http://tomcat.apache.org/ (左侧Download选择下载版本) 1.1.1 安装: 1、下载好了解压到一个没有特殊符号的目录中(一般纯英文即可) 2、进入到解压的目录下找到binstartup.bat双击启动即可 tomcat需要配置JAVA_HOME环境变量,不要把bin目录也配置到JAVA

    2024年02月13日
    浏览(43)
  • 搭建第一个Web服务器(在eclipse或idea上部署Tomcat服务器)

    💻博主现有专栏:                 C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等 🥏主页链接:     

    2024年04月12日
    浏览(37)
  • 使用node.js 搭建一个简单的HelloWorld Web项目

    文档结构 config.ini one.js 使用方法 启动内网穿透 在控制台启动js文件 访问网页 修改为8081 登录natapp官网 成功访问

    2024年02月14日
    浏览(37)
  • 在Linux服务器上简单部署一个Python项目

    一、在对应的服务器上检查有无Python环境 二、在服务器上创建对应项目的文件 三、收集项目的依赖包 四、将项目拷贝到服务器 五、创建Python运行的虚拟环境,并启动 六、安装对应项目的依赖包 七、运行主程序文件 以上就是在Linux上简单部署一个python项目的方法。

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包