например. см. Контекст сервлета в кластерной среде , который объясняет проблему:
В случаях, когда контейнер распределен по многим виртуальным машинам, веб-приложение будет иметь экземпляр ServletContext для каждая JVM.
Атрибуты контекста являются локальными для JVM, в которой они были созданы. Это не позволяет атрибутам ServletContext быть хранилищем общей памяти в распределенном контейнере. Когда необходимо разделить информацию между сервлетами, работающими в распределенной среде, ее следует поместить в сеанс, сохранить в базе данных или установить в компоненте Enterprise JavaBeans. Атрибуты сеанса должны быть сериализуемыми, если они должны обрабатываться несколькими JVM, что является требованием для кластеризации. Можно сделать некоторые поля атрибута сеанса некластеризованными, объявив эти поля как переходные.
blockquote>
Необходимо поместить исходные данные формы в <fieldset> или другая метка блока. <вход> элементы являются встроенными элементами формы и встраивают элементы, может не появиться в контексте блока. Попробовать
<fieldset>
<input ... />
<fieldset>
Как в сообщении говорится, у Вас не может быть входного элемента как у прямого ребенка формы. Это должно содержаться в одном из "p", "h1", "h2", "h3", "H-4", "h5", "h6", "отделение", "пред", "адрес", "fieldset", "ins", "del".
Самая простая фиксация может быть должна вставить их "p", "отделение" или "fieldset" элементы.
Строгий XHTML требует, чтобы Вы не помещали входные элементы непосредственно в формах - можно зафиксировать ошибки путем размещения исходных данных в любой из элементов блочного уровня, предложенных блоком проверки допустимости.
Попробуйте что-то вроде этого:
<form action="#">
<div>
<input type="text" size="30" name="query" value="" onkeypress="return disableEnterKey(event)" />
<input type="button" name="searchButton" value="Search" onclick="loadResults(this.form)" />
</div>
</form>