如何实现我的Web应用程序的Affiliate链接?

Yat*_*oel 7 java servlets affiliate java-ee

我使用Java EE平台构建了一个Web应用程序,销售我的一个软件.

现在我想把我的网站营销工作交给各种电子营销公司.但是,由于我必须向他们提供佣金,我应该知道谁发送了流量.

我认为上述问题的一个解决方案是:

为每个电子营销公司创建一个单独的URL,并为其提供相应的URL,并将所有这些URL重定向到一个Servlet.然后,数不了.特定网址(电子营销公司的网址)上的访问者数量.该电子营销公司转介的访客.

Google和其他各种使用类似种类的区分哪一个从其他技术.

Q1.他们都使用这种方法吗?

Q2.有没有其他方法可以更好地完成这项工作?

你也可以建议一些其他的东西......

提前致谢

sim*_*ord 1

是的,我同意 @krassib 和 @TomR - 使用 queryString 参数,然后您可以编写一个 servlet 过滤器来检查特定参数并增加该附属机构的计数。使用 servlet 过滤器还可以为您带来额外的好处,即可以跟踪每个联属会员的单个链接的数量。

您执行如下操作:

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class AffiliateTrackingFilter implements Filter {
    private AffiliateTrackingService affiliateTrackingService = null;

    @Override
    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest rq, ServletResponse rs,
            FilterChain chain) throws IOException, ServletException {
        String affililateId = rq.getParameter("affiliateId");
        affiliateTrackingService.incrementAffiliateHit(affililateId);
        chain.doFilter();
    }

    @Override
    public void init(FilterConfig fc) throws ServletException {
        affiliateTrackingService = new AffiliateTrackingService();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后将类似的内容添加到您的web.xml中:

<filter>
    <filter-name>AffiliateTrackingFilter</filter-name>
    <filter-class>com.example.AffiliateTrackingFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>AffiliateTrackingFilter</filter-name>
    <servlet-name>MyMainServlet</servlet-name>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

并为所有 servlet 提供过滤器映射。