У меня есть сервер приложений GlassFish 3.1.2, и я начал использовать JSP-страницы, поэтому я заинтересован в правильной настройке кодировки для UTF-8.Что такое стандартный заголовок java java.exe для получения <jsp-config> тега?
Моя оригинальная разработка web.xml
файл начал с
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
, но потом я добавил следующее к нему, чтобы заставить UTF-8 кодировке
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
и мой файл журнала GlassFish 3.1.2 Сервер сообщил
Element type <jsp-config> must be declared web.xml
В попытке исправить ошибку я изменил начало своего web.xml
файл, который будет
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4" >
и теперь я получаю ошибку GlassFish сервер
Invalid Deployment Descriptors in Deployment descriptor file WEB-INF/web.xml ...
One of '{"http://java.sun.com/xml/ns/j2ee":servlet-class,
"http://java.sun.com/xml/ns/j2ee":jsp-file}' is expected.
Является ли мой синтаксис выключен? Как получить <jsp-config>
, работающий с заголовком в файле xml.web
для версии 2.3?
UPDATE 1
Если я запускаю файл web.xml
в
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_3.xsd"
version="2.3">
<display-name>myApp</display-name>
<description>My Application</description>
<listener>
<listener-class>...</listener-class>
</listener>
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<display-name>MessageBrokerServlet</display-name>
<servlet-class>...</servlet-class>
<init-param>
<param-name>...</param-name>
<param-value>...</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Reg</servlet-name>
<servlet-class>com.mydomain.servlet.Reg</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Reg</servlet-name>
<url-pattern>/reg</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
</web-app>
Я вижу эту ошибку:
[#|2014-11-06T13:03:59.779-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=1;_ThreadName=Thread-2;|DPL8015:
Invalid Deployment Descriptors in Deployment descriptor file WEB-INF/web.xml in archive [myapp]. Line 7 Column 41 -- s4s-elt-character: Non-whitespace characters are not allowed in schema elements other than 'xs:appinfo' and 'xs:documentation'. Saw 'var _U = "undefined"; var g_HttpRelativeWebRoot = "/ocom/";'.|#]
[#|2014-11-06T13:03:59.779-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=1;_ThreadName=Thread-2;|DPL8005: Deployment Descriptor parsing failure : s4s-elt-character: Non-whitespace characters are not allowed in schema elements other than 'xs:appinfo' and 'xs:documentation'. Saw 'var _U = "undefined"; var g_HttpRelativeWebRoot = "/ocom/";'.|#]
UPDATE 2
С другой стороны, у меня также есть glassfish-web.xml
файл в каталоге WEB-INF
. Если я верну файл web.xml
обратно к оригиналу и поместите раздел <jsp-config>
в glassfish-web.xml
вместо web.xml
, сервер начнет нормально работать. Какой файл <jsp-config>
должен зайти, или это имеет значение?
thanks @stel, где я могу найти правильный синтаксис для использования с версией 2.3? – user46688
@ user46688 изменить _3_0.xsd и version = "3.0" на _2_3.xsd и version = "2.3" – Arturo
thanks @stel, с этими изменениями я получаю эту ошибку: 'Небелые символы не допускаются в элементах схемы, кроме 'xs: appinf o' и 'xs: documentation'. Saw 'var _U = "undefined"; ' – user46688