Определённо можно. Правда, не обязательно в движке есть удобные средства для этого (ui-router я никогда не пользовался - ненужное усложнение по-моему). Однако ничто не мешает написать функцию/службу/расширение, которые сконфигурируют "базовые" страницы заодно с их вариациями. Я бы так и поступил.
Написание тестов - это обязательная практика для всех. Нет лучшего (а иногда - никакого) способа убедиться в работоспособности кода и его соответствии требованиям. Да и инструмент отладки это отличный.
Но TDD - это написание тестов _перед_ написанием кода. Не всем это подходит, просто в силу особенностей мышления. Это стоит уважать. Но тесты, и адекватное покрытие ими кода, - обязательны.
HttpServletResponse может и не содержать вообще ничего. Он может просто записывать данные в сокет.
Ошибка, вероятнее всего, возникает потому, что где-то уже вызывался метод HttpServletResponse.getWriter(). Нельзя вызывать и getOutputStream() и getWriter().
1. HttpServletResponse используется только для того, чтобы записывать ответ.
2. Из OutputStream невозможно читать.
3. В вашем коде outputStream не используется никак.
4. Совершенно непонятно, каким образом вы получаете HttpServletResponse. Возможно, вы пытаетесь его использовать уже после того, как ответ исправлен?
Да, и ещё один момент. Возможно, придётся установить кодировку less. Это можно сделать с помощью переменной окружения LESSCHARSET. Например, LESSCHARSET=utf-8, если локаль системы UTF-8.
Всего лишь уточняю ваши потребности. Любой инструмент подбирается под задачу, которую вы почему-то не хотите сформулировать. Это действительно так трудно?
Что "всё"? Вы занимаетесь видеомонтажём, звукозаписью, разработкой игр? Или просто сидите вконтактике? В последнем случае вам не нужен ни ноутбук, ни ультрабук. Для таких придуманы планшетики.
Сморозил. Строки в Java всегда в уникоде. Проблема может быть разве что на стадии компиляции: если файл .java не в той кодировке, в которой предполагает компилятор...