Можно ли отследить или сохранить посещенные или нажатые ссылки на веб-страницах, созданных с использованием сервлетов и JSP? - PullRequest
1 голос
/ 04 января 2010

Я создал веб-страницу, содержащую более 10 ссылок. Можно ли сохранить кликнул URL или посещенных в моей базе данных или файла Я разработал веб-страницу с использованием сервлета. Это просто страница с 10 ссылками.

Ответы [ 5 ]

4 голосов
/ 04 января 2010

Возможно, вы захотите использовать вместо этого фильтр . Затем вы можете использовать один фильтр, чтобы отслеживать, какие страницы читаются.

public class LogFilter implements Filter {

  public void doFilter(ServletRequest req, ServletResponse res, 
    FilterChain chain) throws IOException, ServletException {

    HttpServletRequest request = (HttpServletRequest) req;

    ... // use req.getRequestURI() and log it out to a database or file

  }

}

HttpServletRequest.getRequestURI () сообщит вам, какой URL они пытаются просмотреть.

Для активации фильтра вам потребуется использовать сопоставление фильтров в файле web.xml:

   <filter>
      <filter-name>LogFilter</filter-name>
      <filter-class>LogFilter</filter-class>
   </filter>
   <filter-mapping>
      <filter-name>LogFilter</filter-name>
      <!-- 
        this will match any url, you probably want it to either match your jsp urls
        with *.jsp or your servlets with whatever you're using as your servlet-mapping
        e.g. *.html
      -->
      <url-pattern>/*</url-pattern>
   </filter-mapping>  

Редактировать: Если они являются внешними ссылками, вы можете рассмотреть возможность их перенаправления через один сервлет, который затем перенаправляет на внешний URL-адрес и регистрирует этот сервлет.

2 голосов
/ 04 января 2010

Захватывать простые попадания на свой собственный сайт / сервлет просто, как пирог - если вы просто хотите узнать, какие URL посещены, вы почти всегда можете настроить свой веб-сервер на запись этого в файл журнала. (Затем при желании вы можете разобрать и вставить это в вашу базу данных).

Для захвата исходящих ссылок требуется немного больше работы, и есть много способов сделать это, причем лучший из них зависит от ваших конкретных требований (сложность URL / методов, сложность альтернативных атрибутов ссылок, таких как target, желаемая надежность , желаемая производительность, желаемая полнота и т. д.).

Одним из решений, как указано выше, является изменение всех исходящих ссылок на ссылки на страницу перенаправления на вашем собственном сайте с целью в качестве параметра. Затем в ваших типичных журналах веб-сервера вы увидите что-то вроде http://example.com/redir.html?target=http%3A%2F%2Fwww.bbc.co.uk%2Fnews, из которого вы можете легко разобрать целевой URL.

Другой вариант - запуск ручного запроса к вашему серверу при нажатии на ссылку (обычно это изображение 1x1), к которому вы можете добавить любые параметры запроса, которые вам нравятся, и затем извлечь их из вашего файла журнала. Это может включать или не включать в себя прерывание действия click с помощью прослушивателя событий javascript, а затем повторное инициирование изменения страницы в дальнейшем, в зависимости от того, как именно вы делаете запрос, как часто это приведет к состоянию гонки, если не будет явно обработано.

Все вышеперечисленные опции, которые делают явные запросы с целью создания строки в лог-файлах, могли бы вместо этого сделать запрос к определенной странице (например, JSP), которая записывает записи непосредственно в вашу базу данных, если требуется (хотя в идеале) это все равно будет вести некоторый журнал для повторной попытки неудачных вставок).

Проработав в веб-аналитике несколько лет, я могу вам сказать, что удивительно, сколько разных ситуаций нужно учитывать, если вы хотите собрать как можно больше точной информации. Если это просто для игрушечного веб-сайта для вашего собственного назидания, то, вероятно, будет приемлема любая техника, но как только вы начнете придавать вес фигурам, вам действительно нужно заботиться о вещах, которые вы никогда не рассматривали. Существует причина, по которой существует рынок для нескольких относительно дорогих программных пакетов для веб-аналитики ...: -)

Редактировать: Как следует из комментария Пракаша, я бы порекомендовал проверить уже имеющиеся бесплатные инструменты веб-аналитики и интегрировать их, если вы действительно заботитесь о результатах. Если вы просто делаете это из любопытства или в виде одноразового проекта с низкой важностью, тогда непременно запачкайте руки.

1 голос
/ 04 января 2010

Если ссылки являются внутренними для вашего сайта, вам следует просмотреть журналы доступа или пакет аналитики, например, Google Analytics.

Если они являются внешними, и вы хотите отслеживать рейтинг кликов, вы можете получить ссылки на ваш сервер, где вы будете регистрировать его, а затем перенаправить к истинному месту назначения.

0 голосов
/ 04 января 2010

Сделайте это простым способом: добавьте Google Analytics на свой сайт.

0 голосов
/ 04 января 2010

Вы можете сделать это так же, как Google: закодировать каждую ссылку, чтобы она была ссылкой через ваш веб-сайт, для которого она впоследствии перенаправляет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...