From d93494a9fc3e499342ed5b9e99343e5c4057d91d Mon Sep 17 00:00:00 2001 From: xiehonglong <599179587@qq.com> Date: Sun, 9 Jul 2017 14:06:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9Webservice=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ifish/config/MinaConfig.java | 4 +-- .../config/MyWSServletContextListener.java | 14 ++++++--- .../java/com/ifish/config/RootConfig.java | 2 ++ .../com/ifish/config/WebAppInitializer.java | 4 +-- src/main/java/com/ifish/controller/Index.java | 31 +++++++++++++++++++ .../com/ifish/socket/config/JobFactory.java | 2 ++ .../socket/config/MinaServerHandler.java | 14 ++++++--- .../com/ifish/socket/config/ScheduleJob.java | 6 ++-- .../ifish/socket/webService/MyService.java | 1 + .../ifish/socket/webService/ServiceBean.java | 11 ++++++- src/main/resources/minaConfig.xml | 8 ++--- src/main/webapp/WEB-INF/sun-jaxws.xml | 4 --- src/main/webapp/WEB-INF/views/index.jsp | 13 ++++++++ src/main/webapp/WEB-INF/web.xml | 20 ------------ 14 files changed, 91 insertions(+), 43 deletions(-) create mode 100644 src/main/java/com/ifish/controller/Index.java delete mode 100644 src/main/webapp/WEB-INF/sun-jaxws.xml create mode 100644 src/main/webapp/WEB-INF/views/index.jsp delete mode 100644 src/main/webapp/WEB-INF/web.xml diff --git a/src/main/java/com/ifish/config/MinaConfig.java b/src/main/java/com/ifish/config/MinaConfig.java index c450c73..4668775 100644 --- a/src/main/java/com/ifish/config/MinaConfig.java +++ b/src/main/java/com/ifish/config/MinaConfig.java @@ -26,7 +26,7 @@ import org.springframework.context.annotation.Configuration; * * @author Administrator */ -@Configuration +//@Configuration public class MinaConfig { /** @@ -125,7 +125,7 @@ public class MinaConfig { } /** - * 开始运行socket服务 + * 开始运行socket服务,创建监听 * @return */ @Bean(initMethod = "bind", destroyMethod = "unbind") diff --git a/src/main/java/com/ifish/config/MyWSServletContextListener.java b/src/main/java/com/ifish/config/MyWSServletContextListener.java index a7f4527..415e373 100644 --- a/src/main/java/com/ifish/config/MyWSServletContextListener.java +++ b/src/main/java/com/ifish/config/MyWSServletContextListener.java @@ -8,22 +8,28 @@ package com.ifish.config; import com.sun.xml.ws.transport.http.servlet.WSServletContextListener; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import javax.servlet.annotation.WebListener; /** * * @author Administrator */ public class MyWSServletContextListener implements ServletContextListener { + + private static WSServletContextListener wsscl = null; + + static { + wsscl = new WSServletContextListener(); + } @Override public void contextInitialized(ServletContextEvent sce) { - WSServletContextListener wsscl = new WSServletContextListener(); wsscl.contextInitialized(sce); } - + @Override public void contextDestroyed(ServletContextEvent sce) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + wsscl.contextDestroyed(sce); } - + } diff --git a/src/main/java/com/ifish/config/RootConfig.java b/src/main/java/com/ifish/config/RootConfig.java index f2aaaa3..b22cacd 100644 --- a/src/main/java/com/ifish/config/RootConfig.java +++ b/src/main/java/com/ifish/config/RootConfig.java @@ -10,6 +10,7 @@ import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportResource; import org.springframework.web.servlet.config.annotation.EnableWebMvc; /** @@ -18,6 +19,7 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc; */ @Configuration //@Import(MybatisConfig.class) //导入数据库文件配置 +@ImportResource("classpath:minaConfig.xml") @ComponentScan(basePackages = {"com.ifish.*"}, excludeFilters = { @Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class)}) diff --git a/src/main/java/com/ifish/config/WebAppInitializer.java b/src/main/java/com/ifish/config/WebAppInitializer.java index 1529fbd..d99f881 100644 --- a/src/main/java/com/ifish/config/WebAppInitializer.java +++ b/src/main/java/com/ifish/config/WebAppInitializer.java @@ -20,7 +20,7 @@ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServlet @Override protected Class[] getRootConfigClasses() { - return new Class[]{RootConfig.class, MybatisConfig.class, MinaConfig.class, applicationContext().getClass()}; + return new Class[]{RootConfig.class, MybatisConfig.class};//applicationContext().getClass() } @Override @@ -30,7 +30,7 @@ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServlet @Override protected String[] getServletMappings() { - return new String[]{"/api/*"}; + return new String[]{"/"}; } @Override diff --git a/src/main/java/com/ifish/controller/Index.java b/src/main/java/com/ifish/controller/Index.java new file mode 100644 index 0000000..5ae13c8 --- /dev/null +++ b/src/main/java/com/ifish/controller/Index.java @@ -0,0 +1,31 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.ifish.controller; + +import com.ifish.socket.webService.MyService; +import javax.xml.ws.Endpoint; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +/** + * + * @author Administrator + */ +@Controller +public class Index { + + @RequestMapping("/fabu") + + public ModelAndView fabu() { + + ModelAndView mv = new ModelAndView(); + mv.setViewName("index"); + Endpoint.publish("http://localhost:9001/Service/webService", new MyService()); + return mv; + } + +} diff --git a/src/main/java/com/ifish/socket/config/JobFactory.java b/src/main/java/com/ifish/socket/config/JobFactory.java index 976a079..69c5378 100644 --- a/src/main/java/com/ifish/socket/config/JobFactory.java +++ b/src/main/java/com/ifish/socket/config/JobFactory.java @@ -9,11 +9,13 @@ import org.quartz.spi.TriggerFiredBundle; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.scheduling.quartz.AdaptableJobFactory; +import org.springframework.stereotype.Component; /** * * @author Administrator */ +@Component public class JobFactory extends AdaptableJobFactory { @Autowired diff --git a/src/main/java/com/ifish/socket/config/MinaServerHandler.java b/src/main/java/com/ifish/socket/config/MinaServerHandler.java index e5824ce..9ea0497 100644 --- a/src/main/java/com/ifish/socket/config/MinaServerHandler.java +++ b/src/main/java/com/ifish/socket/config/MinaServerHandler.java @@ -31,6 +31,12 @@ public class MinaServerHandler extends IoHandlerAdapter { @Autowired private ScheduleJob scheduleJob; + /** + * 当接口中其他方法抛出异常未被捕获时触发此方法 + * @param session + * @param cause + * @throws Exception + */ @Override public void exceptionCaught(IoSession session, Throwable cause) throws Exception { cause.printStackTrace(); @@ -38,7 +44,7 @@ public class MinaServerHandler extends IoHandlerAdapter { } /** - * 服务端接收消息处理 + * 当接收到消息后被触发 ,服务端接收消息处理 */ @Override public void messageReceived(IoSession session, Object message) throws Exception { @@ -46,7 +52,7 @@ public class MinaServerHandler extends IoHandlerAdapter { } /** - * 客户端连接的会话创建 + * 当会话创建时被触发 ,客户端连接的会话创建 */ @Override public void sessionCreated(IoSession session) throws Exception { @@ -54,7 +60,7 @@ public class MinaServerHandler extends IoHandlerAdapter { } /** - * 客户端连接关闭 + * 当会话关闭时被触发 ,客户端连接关闭 */ @Override public void sessionClosed(IoSession session) throws Exception { @@ -106,7 +112,7 @@ public class MinaServerHandler extends IoHandlerAdapter { } /** - * 空闲超时,主动关闭客户端连接 + * 当会话空闲时被触发,空闲超时,主动关闭客户端连接 */ @Override public void sessionIdle(IoSession session, IdleStatus status) diff --git a/src/main/java/com/ifish/socket/config/ScheduleJob.java b/src/main/java/com/ifish/socket/config/ScheduleJob.java index 684dfaa..9875501 100644 --- a/src/main/java/com/ifish/socket/config/ScheduleJob.java +++ b/src/main/java/com/ifish/socket/config/ScheduleJob.java @@ -5,6 +5,7 @@ */ package com.ifish.socket.config; +import com.ifish.helper.UserHelperI; import com.ifish.socket.model.JobGroup; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; @@ -21,6 +22,7 @@ import org.quartz.impl.StdSchedulerFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.quartz.SchedulerFactoryBean; /** * @@ -35,7 +37,7 @@ public class ScheduleJob { @Autowired private JobFactory jobFactory; - @PostConstruct //初始化方法的注解方式 等同与init-method=init + //@PostConstruct //初始化方法的注解方式 等同与init-method=init public void init() { try { //调度任务开启 @@ -102,7 +104,7 @@ public class ScheduleJob { /** * 关闭调度任务 */ - @PreDestroy //销毁方法的注解方式 等同于destory-method=destory222 + //@PreDestroy //销毁方法的注解方式 等同于destory-method=destory222 public void shutdown() { try { //关闭任务 diff --git a/src/main/java/com/ifish/socket/webService/MyService.java b/src/main/java/com/ifish/socket/webService/MyService.java index 50dd40f..acf3691 100644 --- a/src/main/java/com/ifish/socket/webService/MyService.java +++ b/src/main/java/com/ifish/socket/webService/MyService.java @@ -51,4 +51,5 @@ public class MyService { } return false; } + } diff --git a/src/main/java/com/ifish/socket/webService/ServiceBean.java b/src/main/java/com/ifish/socket/webService/ServiceBean.java index d0b20d4..3514ded 100644 --- a/src/main/java/com/ifish/socket/webService/ServiceBean.java +++ b/src/main/java/com/ifish/socket/webService/ServiceBean.java @@ -14,6 +14,15 @@ import javax.xml.ws.Endpoint; public class ServiceBean { public ServiceBean() { - Endpoint.publish("http://localhost:9001/Service/webService", new MyService()); + + } + + public void init() { + try { + Endpoint.publish("http://localhost:9001/Service/webService", new MyService()); + System.out.println("MyService发布成功!"); + } catch (Exception e) { + System.out.println(e.getMessage()); + } } } diff --git a/src/main/resources/minaConfig.xml b/src/main/resources/minaConfig.xml index 727049c..5a6f97f 100644 --- a/src/main/resources/minaConfig.xml +++ b/src/main/resources/minaConfig.xml @@ -8,13 +8,13 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> - + - + - + @@ -68,7 +68,7 @@ - + diff --git a/src/main/webapp/WEB-INF/sun-jaxws.xml b/src/main/webapp/WEB-INF/sun-jaxws.xml deleted file mode 100644 index 51be92d..0000000 --- a/src/main/webapp/WEB-INF/sun-jaxws.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/main/webapp/WEB-INF/views/index.jsp b/src/main/webapp/WEB-INF/views/index.jsp new file mode 100644 index 0000000..94af086 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/index.jsp @@ -0,0 +1,13 @@ +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + + Socket + + +

访问正常!

+ + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 36f9474..0000000 --- a/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - com.sun.xml.ws.transport.http.servlet.WSServletContextListener - - - MyServiceService - com.sun.xml.ws.transport.http.servlet.WSServlet - 1 - - - MyServiceService - /MyServiceService - - - - 30 - - -