WEBSERVICE创建总结.docx_第1页
WEBSERVICE创建总结.docx_第2页
WEBSERVICE创建总结.docx_第3页
WEBSERVICE创建总结.docx_第4页
WEBSERVICE创建总结.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAX-WS WEB SERVICE编写步骤1 新建项目在Eclipse中新建一个“Dynamic Web project”项目,项目名称取为ghtotMisService。 2 引入包文件在项目中引用jaxws227包;3 编写WebService步骤3.1 在项目中建立包f;3.2 在f包中创建GtServiceIntf.java接口文件,定义如下: package f;public interface GtServiceIntf public String Login(String inData);public String GetData(String sessionID,String serviceID,String inData);public String UpdData(String sessionID,String serviceID,String inData);public String Heartbeat(String sessionID); 3.3 在f包中创建接口实现文件GtServiceImpl.javapackage f;import javax.annotation.Resource;import javax.jws.*;import javax.jws.soap.SOAPBinding;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import javax.xml.ws.WebServiceContext;import javax.xml.ws.handler.MessageContext;import com.ghtot.session.core.*;WebService(name = ghtotmis) SOAPBinding(style = SOAPBinding.Style.RPC)public class GtServiceImpl implements GtServiceIntf Resourceprivate WebServiceContext wsContext;OverrideWebMethodpublic String Login(WebParam(name=inData) String inData) MessageContext mc = this.wsContext.getMessageContext();HttpServletRequest req = (javax.servlet.http.HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);HttpSession session = (javax.servlet.http.HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST).getSession(); session.setAttribute(userInfo, inData);return session.getId();OverrideWebMethodpublic String GetData(WebParam(name=sessionID) String sessionID, WebParam(name=serviceID) String serviceID, WebParam(name=inData) String inData) MessageContext mc = wsContext.getMessageContext();HttpServletRequest req = (javax.servlet.http.HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);HttpSession session = MySessionContext.getInstance().getSession(sessionID);if (session = null) return sessionID无效;return ok;OverrideWebMethodpublic String UpdData(WebParam(name=sessionID) String sessionID, WebParam(name=serviceID) String serviceid, WebParam(name=inData) String inData) return UpdData;OverrideWebMethodpublic String Heartbeat(WebParam(name=sessionID) String sessionID) return Hearbeat;3.4 在WEB-INF新建web.xml,配置如下: GtService com.sun.xml.ws.transport.http.servlet.WSServlet GtService /gtService 3.5 在WEB-INF新建sun-jaxws.xml,这个文件提供一个WEB服务端点,用来连接WSServlet实例和服务实现类。服务器端已经完成,在Eclipse中启动服务进行测试,在浏览器中输入http:/localhost:8080/ghtotMisService/gtService?wsdl就可以看到WSDL文件了。4 增加session管理4.1 增加包com.ghtot.session.core4.2 增加session实现类MySessionContext.javapackage com.ghtot.session.core;import java.util.HashMap;import javax.servlet.http.HttpSession;public class MySessionContext private static MySessionContext instance;private HashMap mymap;private MySessionContext() mymap = new HashMap();public static MySessionContext getInstance() if (instance = null) instance = new MySessionContext();return instance;public synchronized void AddSession(HttpSession session) if (session != null) mymap.put(session.getId(), session);public synchronized void DelSession(HttpSession session) if (session != null) mymap.remove(session.getId();public synchronized HttpSession getSession(String session_id) if (session_id = null) return null;return (HttpSession) mymap.get(session_id); 4.3 增加session实现类SessionListener.javapackage com.ghtot.session.core;import java.text.SimpleDateFormat;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class SessionListener implements HttpSessionListener public static Map userMap = new HashMap();private MySessionContext myc=MySessionContext.getInstance();Overridepublic void sessionCreated(HttpSessionEvent httpSessionEvent) myc.AddSession(httpSessionEvent.getSession();Overridepublic void sessionDestroyed(HttpSessionEvent httpSessionEvent) HttpSession session = httpSess

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论