Penerapan layanan web menjadi semakin luas. Berikut ini memperkenalkan beberapa cara untuk mengembangkan layanan web dalam sistem Java, yang setara dengan membuat catatan.
1.axis2
Axis adalah komponen pengembangan layanan web open source berikutnya dari Apache. Tampaknya relatif awal dan dewasa. Di sini kami terutama memperkenalkan pengembangan WebService Axis+Eclipse. Tentu saja, Anda dapat mengembangkan dan mempublikasikan WebService tanpa gerhana, tetapi akan lebih nyaman untuk menggunakan Eclipse.
(1) Unduh versi Java EE Eclipse //www.vevb.com/softs/239903.html#down
(2) Unduh axis2 http://axis.apache.org/axis2/java/core/download.cgi
(3) Unduh plugin Eclipse Axis2
AXIS2_CODEGEN_WIZARD
AXIS2_SERVICE_ARCHIVER
http://axis.apache.org/axis2/java/core/tools/index.html
Disarankan untuk menggunakan versi 1.3
(4) Eclipse untuk menginstal plug-in Axis2
1) Buat folder Axis2 baru di direktori apa pun, buat direktori Eclipse baru di bawah folder ini, dan buat direktori plugin baru dan fitur direktori di direktori Eclipse, seperti: D:/ProgramSoftware/Eclipse-SVN/Axis2/Eclipse;
2) unzip plugin Axis2 yang diunduh dan letakkan file yang didekompresi di direktori plugin dari gerhana yang baru dibuat;
3) Buat direktori tautan baru di bawah direktori % eclipse_home %, dan buat file axis2.link baru di direktori tautan, dengan konten: path = d:/programoftware/eclipse-svn/axis2;
4) Restart Eclipse dan klik ・ File-New-lainnya. Jika Anda melihat Wizards Axis2, itu berarti plug-in diinstal dengan sukses.
(5) Pasang Axis2
Unduh distribusi perang Axis2 dan mendekompresinya, tempatkan paket Axis2.war di bawah %tomcat_home %/webapps, mulai tomcat, kunjungi http: // localhost: port/axis2, dan axis2 diinstal dengan sukses.
(6) Gunakan Eclipse untuk membuat proyek web baru dan membuat kelas Java normal, termasuk setidaknya satu metode.
(7) Publikasikan layanan web
1) Klik File-New-lain di Eclipse, buka Wizards2 Wizards, pilih Axis2 Service Archiver, lalu selanjutnya;
2) Pilih lokasi file kelas, yaitu, jalur penyimpanan file kelas. Catatan: Pilih direktori kelas, jangan sertakan folder paket, lalu selanjutnya;
3) Pilih Lewati WSDL lalu selanjutnya
4) Pergi di sebelah untuk memilih file layanan XML yang akan dimasukkan dalam arsip layanan, dan periksa menghasilkan layanan XML secara otomatis;
5) Layanan NAMA-APIL DI NAMA LAYANAN ANDA, CLASS NAMA-APIL DI CLASS NAME, termasuk nama paket, lalu klik LOAD, lalu klik Finish. Pada saat ini, layanan web akan berhasil diterbitkan;
6) kemudian pergi ke %tomcat_home %/webapps/axis2/web-inf/layanan untuk melihat apakah ada file .aar tambahan;
7) Kunjungi http: // localhost: 8085/axis2/jasa/nama kelas? Wsdl untuk melihat file wsdl yang dihasilkan.
Catatan: Metode di atas adalah menerbitkannya ke paket Axis2.war. Anda juga dapat menyalin file .aar yang dihasilkan ke aplikasi Anda yang sebenarnya. Pada saat yang sama, Anda juga dapat menggunakan fungsi Eclipse Buat situs web untuk mempublikasikan situs web Anda. Pilih Axis2 untuk menghasilkan situs web Anda, sehingga situs web akan digunakan untuk aplikasi Anda.
2.apche cxf
CXF Development WebService juga relatif nyaman dan sederhana, dan integrasinya dengan musim semi dapat dikatakan sangat baik. Mari kita ambil contoh layanan web pengembangan CXF.
1) Buat proyek web baru di paket ketergantungan Eclipse dan impor.
2) Tulis antarmuka, seperti:
tes string publik (@webparam (name = "value", targetnamespace = "http://service.cxf.zcl.com/", mode = webparam.mode.in) nilai string);
Catatan: Dalam layanan web yang dikembangkan oleh CXF, parameter metode dalam antarmuka harus dengan cara ini, jika tidak, server CXF tidak akan menerima nilai parameter ketika klien memanggilnya. Nama: Nama parameter, jangan menulisnya (disarankan untuk menulisnya), targetNeNespace: namespace, harus diisi. Defaultnya adalah urutan terbalik dari nama paket, mode: tipe parameter, dalam mewakili input.
3) menulis kelas implementasi dan mengimplementasikan metode antarmuka;
4) Integrasi dengan Spring, tulis file kacang, seperti: cxf-beans.xml, dengan konten berikut:
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: jaxws = "http://cxf.apache.org/jaxws" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.orga/beans http://www.spramework.orga/beans http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd "> <impor sumber daya =" classpath: meta-inf/cxf/cxf.xml "/<impor sumber daya =" classpath: meta-inf/cxf.xml "/<impor sumber daya =" classpath: meta-inf/cxf.xml "/<impor sumber daya =" classpath: meta-inf/cxf.xml "/<impor sumber daya =" classpath: meta-inf/cxf/cxfl "/<impor sumber daya =" classpath: meta-inf/cxf/cxfl "/<impor sumber kpath resource = "classpath: meta-inf/cxf/cxf-servlet.xml"/> <jaxws: endpoint id = "vote" implementor = "com.zcl.cxf.service.voteImpl" alamat = "/vote"/> </tacf
File ini lebih mudah dipahami, jadi saya tidak akan menjelaskannya.
5) Mengkonfigurasi CXFServlet
Konfigurasikan CXFSerVlet di file web.xml dan muat file cxf-beans.xml, dengan konten berikut:
<web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "id =" webapp_id "versi =" 2.5 "> <context-param> <param-name> ContextConfigLocation </param-name> <param-value> Web-inf/CXF --MA. <listener-class> org.springframework.web.context.contextLoaderListener </engeaner-class> </engeaner> <servlet> <servlet-name> cxf </servlet-name> <servlet> org.apache.cxf.transport.servlet.cxfservlet </classervet.cxf.transpor </servlet> <servlet-Mapping> <servlet-name> cxf </servlet-name> <RURL-pola>/services/*</url-pola> </servlet-Mapping> </seb-app>
Menyebarkan proyek ke middleware, seperti Tomcat, dan Anda dapat mengakses layanan situs web.
3. JJDK Development WebService
1) Tulis kelas Java sebagai berikut:
demo paket; impor javax.jws.webparam; impor javax.jws.webservice; impor javax.xml.ws.endpoint; @WebService kelas publik JDKWebService {public String dosomething (@webparam (name = "value", targetNeNespace = "http: // demo/", mode = webparam.mode.in) nilai string) {return "Lakukan saja," + nilai + "!"; } public static void main (string [] args) {endpoint.publish ("http: // localhost: 8080/jdkwsdemo/demo.jdkebebservice", jdkwebebservice baru ()); }} 2) Jalankan kelas Java dan Anda dapat mengakses layanan web di browser.
Catatan: Metode ini tidak terlalu ramah saat mengembangkan rekayasa web. Kami dapat menulis kelas servlet dan menerbitkan layanan web dalam metode inisialisasi kelas servlet, sehingga server middleware kami akan secara otomatis membantu kami untuk memulai.
3) xfire
Ada banyak kerangka kerja untuk mengembangkan layanan web, dan setiap kerangka kerja memiliki fitur sendiri. Baru -baru ini, saya menggunakan XFIRE untuk berlatih pengembangan layanan web. Di bawah ini adalah contoh kecil dari pengembangan layanan web. Saya berharap ini akan membantu bagi mereka yang memulai.
1. Buat proyek web Java baru bernama TestWebService, tambahkan paket JAR terkait XFIRE ke direktori LIB, tulis kelas antarmuka dan kelas implementasi
paket com.lamp.service; Public Interface MessageService {public String getName (nama string); } paket com.lamp.service; Public Interface MessageService {public String getName (nama string); } Kelas Implementasi
paket com.lamp.service.impl; impor com.lamp.service.messageService; Public Class MessageServiceImpl mengimplementasikan PesanService {public String getName (nama string) {return "hellow" + name + ", selamat datang di WebService World"; }} paket com.lamp.service.impl; impor com.lamp.service.messageService; Public Class MessageServiceImpl mengimplementasikan PesanService {public String getName (nama string) {return "hellow" + name + ", selamat datang di WebService World"; }} Buat meta-inf folder baru di direktori src, lalu buat folder baru Xfire di bawahnya, dan buat file konfigurasi baru layanan.xml di direktori xfire
<? Xml Version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://xfire.codehaus.org/config/1.0"> <name> <name> service </name> <sviceClass> com.lamp.service.messageService </name> <sviceclass> com.lamp.service. <Peracita ImplemationClass> com.lamp.service.impl.messageServiceImpl </plementationclass> </service> </beans> <? xml versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://xfire.codeaus.org/config/config/config/config/config/config/config/cconfig/cconfig/config/config/config/config/ccong/config/cconf/cconf/cconf/cconf/cconfor <serviceClass> com.lamp.service.messageService </serviceClass> <MenementationClass> com.lamp.service.impl.messageServiceImpl </pimplementationclass> </service> </beans>
Akhirnya, konfigurasikan servlet xfire di web.xml
<servlet> <servlet-name> xfireserVlet </servlet-name> <servlet-class> org.codehaus.xfire.transport.http.xfireconfigurableservlet </servlet-class> </servlet> <servlet-papping> <servlet-mapping> xfirlet> <rerl-pola>/servlet/xfireserVlet/*</rerl-pattern> </servlet-Mapping> <servlet-Mapping> <servlet-name> xFireserVlet </servlet-name> <remer-pola>/servlet/*</url-pola> </servlet-mapping> <servlet> <servlet> <fireserver> <servlet> <servlet> <servlet> <fireserver> </servlet> <servlet> <servlet> xfirserv> </servlet> <servlet> <servlet> xfireserv org.codehaus.xfire.transport.http.xfireconfigurableServlet </servlet-class> </servlet> <servlet-papping> <servlet-name> xFireSerVlet </servlet-name> <rerl-pattern>/servlet/xfireServlet/*</url-polat> <ratter> </servlet/xFireserVlet/</url-pola> </servlet> </servlet/xfireServlet/*</url-pola> </pattern> <servlet-name> xFireserVlet </servlet-name> <rerl-pola>/services/*</url-pola> </servlet-mapping>
Setelah proyek dikerahkan, Anda dapat melihat antarmuka akses jarak jauh di browser melalui http: // localhost: 8080/testwebservice/layanan, dan dapatkan WSDL sebagai http: // localhost: 8080/testwebservice/services/pesan pesan? Wsdl?
Dengan cara ini, pengembangan server selesai, dan sekarang pengembangan klien dimulai
Buat proyek Java baru dan juga perkenalkan toples terkait XFIRE. Saya menggunakan semut untuk menghasilkan objek proxy pada klien, dan membuat build.xml baru di bawah jalur proyek, dan kodenya adalah
<? Xml Version = "1.0" encoding = "UTF-8"?> <name proyek = "WebService" berbasiskan = "." default = "Gen-Webbservice"> <file properti = "build.properties"> </prop Property> <path id = "Project-classpath"> <fileset dir = "$ {lib.dir}"> <include name = "**/*. className = "org.codehaus.xfire.gen.wsgentask" classpathref = "Project-classpath"/> <wsgen outputDirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" paket = "com.lamp.w. <? Xml Version = "1.0" encoding = "UTF-8"?> <name proyek = "WebService" berbasiskan = "." default = "Gen-Webbservice"> <file properti = "build.properties"> </prop Property> <path id = "Project-classpath"> <fileset dir = "$ {lib.dir}"> <include name = "**/*. className = "org.codehaus.xfire.gen.wsgentask" classpathref = "Project-classpath"/> <wsgen outputDirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" paket = "com.lamp.w. File build.properties yang diperkenalkan juga ada di jalur proyek
src.dir = $ {berbasis}/src lib.dir = f: /webservice/xfire-1.2.6/lib wsdl.dir = http: // localhost: 8080/testwebservice/services/pesan pesan? wsdl di mana lib.jar menyimpan jalur xfire untuk saya, jalankan semut untuk mendapatkan objek proxy
Tulis kelas tes
paket com.lamp.test; impor com.lamp.ws.client.MessageServiceClient; impor com.lamp.ws.client.MessageServicePortType; Public Class TestGetName {public static void main (string [] args) {messageServiceClient msg = new maceserviceCeClient (); PesanServicePortType portType = msg.getMessageServiceHttpPort (); String result = portType.getName ("Zhang San"); System.out.println (hasil); }} paket com.lamp.test; impor com.lamp.ws.client.MessageServiceClient; impor com.lamp.ws.client.MessageServicePortType; Public Class TestGetName {public static void main (string [] args) {messageServiceClient msg = new maceserviceCeClient (); PesanServicePortType portType = msg.getMessageServiceHttpPort (); String result = portType.getName ("Zhang San"); System.out.println (hasil); }} Menjalankan di konsol, saya melihat Hellow Zhang San, Welcome to WebService World, dan pengembangan layanan web sederhana telah selesai.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.