• Есть ли необработанные ошибки?

    @yahorfilipcyk
    У вас правда код работает? :) Или вы не совсем понимаете, что в нём происходит?
    for (int i = 10; i < 10; i++) {
         snlist.add(pr);
         snlist.add(clientsCount);
         snlist.add(otpCount);
         snlist.add(lices);
         snlist.add(date);
         snlist.add(certPeriod);
         snlist.add(outFile);
         snlist.add(keyFile);
         snlist.add(pass);
         snlist.add(lic);
    }

    Ещё замечания: вы вызываете response.getWriter() и response.getOutputStream() из одного и того же объекта ответа. Причём закрываете и OutputStream, и Writer. Оба объекта ссылаются на один и тот же Stream. Нужно выбрать что-то одно. Также вы записываете лицензию в файл, потом читаете этот же файл и отсылаете содержимое клиенту. Не проще отправить клиенту содержимое String x, а не читать его из файла?
    Насчёт исключений... Не нужно везде писать catch (Exception ex). Отлавливайте те исключения, которые могут вам о чём-то сказать и вы сможете предпринять какие-то действия.
    И ещё, будьте человеком :) разнесите разные функционально блоки кода в отдельные методы, а то ж сложно разбираться в простынях кода. Я даже не пробовал разбираться, что ваш код на самом деле делает. Поэтому замечания перечислены далеко не все, есть подозрения.
    Ответ написан