java 开发 webAPI 接口服务端 方法1  利用Servlet

https://blog.csdn.net/u013002905/article/details/80276401

1.增加实例化bean的class类

    import java.io.IOException;
    import javax.servlet.GenericServlet;
    import javax.servlet.Servlet;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import org.springframework.web.context.WebApplicationContext;
    import org.springframework.web.context.support.WebApplicationContextUtils;

    public class ServiceInfoProxy extends GenericServlet {

private static final long serialVersionUID = 1L;
private String targetBean;
        private Servlet proxy;
    
        @Override
        public void service(ServletRequest arg0, ServletResponse arg1)
                throws ServletException, IOException {
                proxy.service(arg0, arg1);
        }

        @Override
        public void init() throws ServletException {
            this.targetBean = getServletName();
            getServletBean();
            proxy.init(getServletConfig());
        }
    

        private void getServletBean() {                                                            

 WebApplicationContext wac =             WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());

            this.proxy = (Servlet)wac.getBean(targetBean);//get proxyBean
        }
}

2.逻辑类TaskStatusCallback继承HttpServlet,如下:

    public class TaskStatusCallback extends HttpServlet{

        public TaskStatusCallback() {
            super();
        }

   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,                 IOException {
System.out.println("get 方式逻辑实现");
        }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,                 IOException {
            System.out.println("post 方式逻辑实现");
        }

      @Override
      public void init(ServletConfig config) throws ServletException {
             System.out.println("~~~START1~~~");
         }
    

  }

    3.spring.xml里面加入以下内容:

        <bean id="taskStatusCallback" class="ly.webApi.TaskStatusCallback"/>

     4.web.xml下发布接口,如下:

         <servlet>
                <servlet-name>taskStatusCallback</servlet-name>
                <servlet-class>ly.utils.ServiceInfoProxy</servlet-class>
                <load-on-startup>3</load-on-startup>
          </servlet>
          <servlet-mapping>

                <servlet-name>taskStatusCallback</servlet-name>

                <!--发布路径-->

                <url-pattern>/service/taskStatusCallback/*</url-pattern>
          </servlet-mapping>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值