当前位置: 代码迷 >> Web前端 >> axis 简略webservice实现
  详细解决方案

axis 简略webservice实现

热度:462   发布时间:2012-11-15 15:16:14.0
axis 简单webservice实现
今天写了个非常简单的webservice,使用的是axis.jar,先导入包,再写个类,不用继承任何类,然后里面写个方法,访问一下数据库,用到了 spring,但以前要得到spring中的bean一般都是要当场取解析spring配置文件然后得到容器对象,或者在web容器启动时候创建出 spring对象再在servlet中通过
ApplicationContext   ctx=WebApplicationContextUtils.getWebApplicationContext( this.getServletConfig().getServletContext());
而这个类里直接:
private Object getBean(String bean){
        MessageContext msgc=MessageContext.getCurrentContext();
        ServletContext servletContext=((HttpServlet)msgc.getProperty(HTTPConstants.MC_HTTP_SERVLET)).getServletContext();
        WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
        return ctx.getBean(bean);
      
    }
写了个这个方法来得到容器实例,其中MessageContext与HTTPConstants.MC_HTTP_SERVLET都是引用了axis包下的类。
然后再在web.xml中配置几个servlet,再在WEB-INF目录下写个.jws文件,里面就和java类一样,继承刚才写的pojo,然后就和一般的web应用一样,部署一下,这个部署时候tomcat需要用jdk,不能用jre,因为他用到jdk中的tools类来动态生成java类。
然后在myeclipse中点launch web service explorer,选WSDL page
在WSDL URL中写入:http://ip地址:port/应用名称/刚才写的.jws?WSDL
再点go,就可看到自己写的方法了。。。
使用log4j写日志。。。
今天max发现org.springframework.jdbc.datasource.DriverManagerDataSource这个 spring提供的数据源没有池。。。然后我改用了org.apache.commons.dbcp.BasicDataSource
来做数据连接池。。。。其中可以配置很多参数,
到http://commons.apache.org/dbcp/configuration.html上去查看文档了解各个参数作用
  相关解决方案