แอปพลิเคชันของเว็บเซิร์ฟเวอร์มีความกว้างขวางมากขึ้นเรื่อย ๆ ต่อไปนี้แนะนำหลายวิธีในการพัฒนาเว็บเซอร์ในระบบ Java ซึ่งเทียบเท่ากับการทำบันทึก
1.Axis2
Axis เป็นองค์ประกอบการพัฒนาเว็บไซต์โอเพ่นซอร์สถัดไปของ Apache มันปรากฏค่อนข้างเร็วและเป็นผู้ใหญ่ ที่นี่เราส่วนใหญ่แนะนำการพัฒนาของ Axis+Eclipse Webservice แน่นอนคุณสามารถพัฒนาและเผยแพร่เว็บเซิร์ฟเวอร์ได้โดยไม่ต้องคราส แต่จะสะดวกกว่าในการใช้คราส
(1) ดาวน์โหลด eclipse เวอร์ชัน java ee //www.vevb.com/softs/239903.html#down
(2) ดาวน์โหลด Axis2 http://axis.apache.org/axis2/java/core/download.cgi
(3) ดาวน์โหลดปลั๊กอิน Axis2 ของ Eclipse
axis2_codegen_wizard
axis2_service_archiver
http://axis.apache.org/axis2/java/core/tools/index.html
แนะนำให้ใช้เวอร์ชัน 1.3
(4) Eclipse เพื่อติดตั้งปลั๊กอิน Axis2
1) สร้างโฟลเดอร์ Axis2 ใหม่ในไดเรกทอรีใด ๆ สร้างไดเรกทอรี Eclipse ใหม่ภายใต้โฟลเดอร์นี้และสร้างไดเรกทอรีปลั๊กอินใหม่และไดเรกทอรีคุณสมบัติในไดเรกทอรี Eclipse เช่น: D:/Programsoftware/Eclipse-SVN/AXIS2/Eclipse;
2) คลายซิปปลั๊กอิน Axis2 ที่ดาวน์โหลดมาและวางไฟล์ที่บีบอัดในไดเรกทอรีปลั๊กอินของ eclipse ที่สร้างขึ้นใหม่
3) สร้างไดเรกทอรีลิงก์ใหม่ภายใต้ไดเรกทอรี % eclipse_home % และสร้างไฟล์ Axis2.link ใหม่ในไดเรกทอรีลิงก์ด้วยเนื้อหา: path = d:/programsoftware/eclipse-svn/axis2;
4) รีสตาร์ท Eclipse และคลิก ・ ไฟล์ใหม่ หากคุณเห็นตัวช่วยสร้าง Axis2 หมายความว่าการติดตั้งปลั๊กอินสำเร็จแล้ว
(5) ติดตั้ง Axis2
ดาวน์โหลดการกระจายสงครามของ Axis2 และ Decompress วางแพ็คเกจ Axis2.war ภายใต้ %tomcat_home %/webapps เริ่มต้น Tomcat เยี่ยมชม http: // localhost: พอร์ต/axis2 และ Axis2 ได้รับการติดตั้งสำเร็จ
(6) ใช้ Eclipse เพื่อสร้างโครงการเว็บใหม่และสร้างคลาส Java ปกติรวมถึงวิธีอย่างน้อยหนึ่งวิธี
(7) เผยแพร่เว็บไซต์
1) คลิกไฟล์-ใหม่ใน Eclipse, ตัวช่วยสร้าง Open Axis2, เลือก Axis2 Service Archiver จากนั้นถัดไป;
2) เลือกตำแหน่งไฟล์คลาสนั่นคือพา ธ การจัดเก็บไฟล์คลาส หมายเหตุ: เลือกเฉพาะไดเรกทอรีคลาสเท่านั้นไม่รวมโฟลเดอร์แพ็คเกจแล้วถัดไป;
3) เลือกข้าม WSDL จากนั้นถัดไป
4) ไปถัดไปเพื่อเลือกไฟล์ XML บริการที่จะรวมอยู่ในการเก็บข้อมูลบริการและตรวจสอบสร้างบริการ XML โดยอัตโนมัติ
5) การเติมชื่อบริการในชื่อบริการของคุณการเติมชื่อคลาสในชื่อคลาสรวมถึงชื่อแพ็คเกจจากนั้นคลิกโหลดแล้วคลิกเสร็จสิ้น ในเวลานี้เว็บเซอร์วิสจะได้รับการเผยแพร่สำเร็จ
6) ไปที่ %tomcat_home %/webapps/axis2/web-inf/บริการเพื่อดูว่ามีไฟล์. AAR เพิ่มเติมหรือไม่
7) เยี่ยมชม http: // localhost: 8085/axis2/บริการ/ชื่อคลาส? wsdl เพื่อดูไฟล์ WSDL ที่สร้างขึ้น
หมายเหตุ: วิธีการข้างต้นคือการเผยแพร่ไปยังแพ็คเกจ Axis2.war คุณยังสามารถคัดลอกไฟล์. aar ที่สร้างขึ้นไปยังแอปพลิเคชันจริงของคุณ ในเวลาเดียวกันคุณสามารถใช้ฟังก์ชั่นสร้างเว็บไซต์ของ Eclipse เพื่อเผยแพร่เว็บไซต์ของคุณ เลือก Axis2 เพื่อสร้างเว็บไซต์ของคุณเพื่อให้เว็บไซต์จะถูกนำไปใช้กับแอปพลิเคชันของคุณ
2. APCHE CXF
CXF Development Webservice นั้นค่อนข้างสะดวกและเรียบง่ายและการรวมเข้ากับฤดูใบไม้ผลิอาจกล่าวได้ว่าดีมาก มาเป็นตัวอย่างของเว็บไซต์พัฒนา CXF
1) สร้างโครงการเว็บใหม่ในคราสและนำเข้าแพ็คเกจการพึ่งพา
2) เขียนอินเทอร์เฟซเช่น:
การทดสอบสตริงสาธารณะ (@WebParam (name = "value", targetNamespace = "http://service.cxf.zcl.com/", mode = webparam.mode.in) ค่าสตริง);
หมายเหตุ: ในเว็บเซิร์ฟเวอร์ที่พัฒนาโดย CXF พารามิเตอร์ของวิธีการในอินเตอร์เฟสจะต้องอยู่ด้วยวิธีนี้มิฉะนั้นเซิร์ฟเวอร์ CXF จะไม่ได้รับค่าพารามิเตอร์เมื่อไคลเอนต์เรียก ชื่อ: ชื่อพารามิเตอร์อย่าเขียน (แนะนำให้เขียนบน), targetNamespace: เนมสเปซต้องกรอกข้อมูลค่าเริ่มต้นคือลำดับย้อนกลับของชื่อแพ็คเกจโหมด: ประเภทพารามิเตอร์ในหมายถึงอินพุต
3) เขียนคลาสการใช้งานและใช้วิธีการเชื่อมต่อ
4) รวมกับสปริงเขียนไฟล์ถั่วเช่น: cxf- beans.xml ด้วยเนื้อหาต่อไปนี้:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: jaxws = "http://cxf.apache.org/jaxws" xsi: schemalocation = "http://www.springframework.org/schema/beans http://ww.springframework http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd "> <import Resource =" classpath: meta-inf/cxf/cxf.xml "/> <ournation resource =" classpath: meta-inf/cxf/cxf/cxf Resource = "classpath: meta-inf/cxf/cxf-servlet.xml"/> <jaxws: endpoint id = "โหวต" edportonor = "com.zcl.cxf.service.voteimpl" ที่อยู่ = "/โหวต"/> </epeans>
ไฟล์นี้เข้าใจง่ายกว่าดังนั้นฉันจะไม่อธิบาย
5) กำหนดค่า CXFServlet
กำหนดค่า CXFServlet ในไฟล์ web.xml และโหลดไฟล์ cxf- beans.xml ด้วยเนื้อหาต่อไปนี้:
<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/javaeee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "id =" webapp_id "เวอร์ชัน =" 2.5 "> <denterce-param> <Sistener-class> org.springframework.web.context.contextloaderListener </listener-class> </listener> <servlet> <servlet-name> cxf </servlet-name> </servlet> <servlet-mapping> <servlet-name> cxf </servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
ปรับใช้โครงการไปยังมิดเดิลแวร์เช่น Tomcat และคุณสามารถเข้าถึงบริการเว็บไซต์
3.JDK การพัฒนาเว็บเซอร์วิส
1) เขียนคลาส Java ดังนี้:
การสาธิตแพ็คเกจ; นำเข้า javax.jws.webparam; นำเข้า Javax.jws.webservice; นำเข้า javax.xml.ws.endpoint; @WebService คลาสสาธารณะ JDKWESSERVICE {Public String Dosomething (@WebParam (name = "value", targetNamespace = "http: // demo/", mode = webparam.mode.in) ค่าสตริง) {return "เพียงแค่ทำ" + value + "!"; } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {endpoint.publish ("http: // localhost: 8080/jdkwsdemo/demo.jdkwebservice", jdkwebservice ใหม่ ()); - 2) เรียกใช้คลาส Java และคุณสามารถเข้าถึง Webservice บนเบราว์เซอร์
หมายเหตุ: วิธีนี้ไม่เป็นมิตรมากเมื่อพัฒนาวิศวกรรมเว็บ เราสามารถเขียนคลาส Servlet และเผยแพร่เว็บไซต์ในวิธีการเริ่มต้นของคลาส Servlet เพื่อให้เซิร์ฟเวอร์มิดเดิลแวร์ของเราจะช่วยให้เราเริ่มต้นโดยอัตโนมัติ
3) xfire
มีเฟรมเวิร์กมากมายสำหรับการพัฒนาเว็บเซิร์ฟเวอร์และแต่ละเฟรมเวิร์กมีคุณสมบัติของตัวเอง เมื่อเร็ว ๆ นี้ฉันใช้ Xfire เพื่อฝึกการพัฒนาเว็บเซอร์ ด้านล่างเป็นตัวอย่างเล็ก ๆ ของการพัฒนาเว็บเซอร์ ฉันหวังว่ามันจะเป็นประโยชน์กับผู้ที่เริ่มต้น
1. สร้างโครงการ Java Web ใหม่ชื่อ TestWebService, เพิ่มแพ็คเกจ JAR ที่เกี่ยวข้องกับ XFIRE ลงในไดเรกทอรี LIB, คลาสอินเตอร์เฟสเขียนและคลาสการใช้งาน
แพ็คเกจ com.lamp.service; อินเตอร์เฟสสาธารณะ MessageService {สตริงสาธารณะ getName (ชื่อสตริง); - แพ็คเกจ com.lamp.service; อินเตอร์เฟสสาธารณะ MessageService {สตริงสาธารณะ getName (ชื่อสตริง); - คลาสการดำเนินการ
แพ็คเกจ com.lamp.service.impl; นำเข้า com.lamp.service.messageservice; Public Class MessagesERVICEIMPL ใช้ MessageService {สตริงสาธารณะ getName (ชื่อสตริง) {return "hellow" + name + ", ยินดีต้อนรับสู่ Webservice World"; - แพ็คเกจ com.lamp.service.impl; นำเข้า com.lamp.service.messageservice; Public Class MessagesERVICEIMPL ใช้ MessageService {สตริงสาธารณะ getName (ชื่อสตริง) {return "hellow" + name + ", ยินดีต้อนรับสู่ Webservice World"; - สร้างโฟลเดอร์ใหม่ meta-inf ในไดเรกทอรี SRC จากนั้นสร้างโฟลเดอร์ใหม่ XFire ภายใต้และสร้างบริการไฟล์กำหนดค่าใหม่ xml ในไดเรกทอรี xfire
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://xfire.codehaus.org/config/1.0"> <earster> <peritionAtClass> com.lamp.service.impl.messageserviceimpl </edportationclass> </service> </epeal> <? xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://xfire.codehaus.org/configice <serviceClass> com.lamp.service.messageservice </serviceClass> <peritionAtClass> com.lamp.service.impl.messageserviceimpl </emplementationClass>
สุดท้ายกำหนดค่า servlet ของ XFire ใน web.xml
<servlet> <servlet-name> xfireservlet </servlet-name> <servlet-lass> org.codehaus.xfire.transport.http.xfireconfigurableservlet </servlet-class> </servlet> <url-pattern>/servlet/xfireservlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> xfireservlet </servlet-name> <url-pattern>/services/*</url-pattern> org.codehaus.xfire.transport.http.xfireconfigurableservlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> xfireservlet </servlet-name> <url-pattern> <servlet-name> xfireservlet </servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
หลังจากปรับใช้โครงการแล้วคุณสามารถดูอินเทอร์เฟซการเข้าถึงระยะไกลในเบราว์เซอร์ผ่าน http: // localhost: 8080/testwebservice/บริการและรับ wsdl เป็น http: // localhost: 8080/testwebservice/services/messageservice?
ด้วยวิธีนี้การพัฒนาเซิร์ฟเวอร์จะเสร็จสมบูรณ์และตอนนี้การพัฒนาไคลเอ็นต์เริ่มต้นขึ้น
สร้างโครงการ Java ใหม่และแนะนำขวดที่เกี่ยวข้องกับ XFire ฉันใช้ ANT เพื่อสร้างวัตถุพร็อกซีบนไคลเอนต์และสร้าง build.xml ใหม่ภายใต้เส้นทางโครงการและรหัสคือ
<? xml version = "1.0" encoding = "utf-8"?> <project name = "webservice" basedir = " default = "gen-webservice"> <property file = "build.properties"> </property> <path id = "project-classpath"> <fileset dir = "$ {lib.dir}"> <include name = "jar. ar"/> </fileset> </path> classname = "org.codehaus.xfire.gen.wsgentask" classpathref = "Project-classpath"/> <wsgen outputDirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" แพ็คเกจ = "com.lamp.lamp.ws.client <? xml version = "1.0" encoding = "utf-8"?> <project name = "webservice" basedir = " default = "gen-webservice"> <property file = "build.properties"> </property> <path id = "project-classpath"> <fileset dir = "$ {lib.dir}"> <include name = "jar. ar"/> </fileset> </path> classname = "org.codehaus.xfire.gen.wsgentask" classpathref = "Project-classpath"/> <wsgen outputDirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" แพ็คเกจ = "com.lamp.lamp.ws.client ไฟล์ build.properties ที่แนะนำนั้นอยู่ในเส้นทางโครงการ
src.dir = $ {basedir}/src lib.dir = f: /webservice/xfire-1.2.6/lib wsdl.dir = http: // localhost: 8080/testwebservice/services/message service? ที่ lib.jar เก็บเส้นทางของ xfire สำหรับฉันเรียกใช้มดเพื่อรับวัตถุพร็อกซี
เขียนคลาสทดสอบ
แพ็คเกจ com.lamp.test; นำเข้า com.lamp.ws.client.messageserviceClient; นำเข้า com.lamp.ws.client.messageserviceporttype; Public Class TestGetName {โมฆะสาธารณะคงที่หลัก (String [] args) {MessageserviceClient msg = new MessageserviceClient (); MessagesERVICEPORTTYPE PORTTYPE = msg.getMessageservicehttpport (); String result = portType.getName ("Zhang San"); System.out.println (ผลลัพธ์); - แพ็คเกจ com.lamp.test; นำเข้า com.lamp.ws.client.messageserviceClient; นำเข้า com.lamp.ws.client.messageserviceporttype; Public Class TestGetName {โมฆะสาธารณะคงที่หลัก (String [] args) {MessageserviceClient msg = new MessageserviceClient (); MessagesERVICEPORTTYPE PORTTYPE = msg.getMessageservicehttpport (); String result = portType.getName ("Zhang San"); System.out.println (ผลลัพธ์); - ฉันเห็น Hellow Zhang San, ยินดีต้อนรับสู่ Webservice World และการพัฒนาเว็บเซิร์ฟเวอร์ที่เรียบง่ายเสร็จสมบูรณ์แล้ว
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น