Невозможно просмотреть параметры, переданные из сервлета Java в файл jsp [duplicate]

Для нас WCF используется для SOAP и веб-API для REST. Я хочу, чтобы Web API поддерживал SOAP. Мы не используем расширенные функции WCF. Вот сравнение с MSDN :

enter image description here [/g1]

10
задан BalusC 4 August 2015 в 07:41
поделиться

2 ответа

Да, у меня есть doctype в web.xml <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd"; >

Удалите это <!DOCTYPE> из web.xml, и все должно быть хорошо. Допустимый сервлет 3.0 (Tomcat 7, JBoss AS 6/7, GlassFish 3 и т. Д.), Совместимый с web.xml, представлен ниже, без каких-либо <!DOCTYPE>:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <!-- Config here. -->

</web-app>

Для сервлета 3.1 ( Tomcat 8, WildFly 8/9/10/11, GlassFish / Payara 4 и т. Д.), Он выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    version="3.1">

    <!-- Config here. -->

</web-app>

Для сервлета 4.0 (Tomcat 9, WildFly 12, GlassFish / Payara 5 и т. Д. ), это выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    version="4.0">

    <!-- Config here. -->

</web-app>

При использовании JSTL 1.1 или новее вам нужно убедиться, что ваш web.xml объявлен таким образом, что webapp работает, по крайней мере, с сервлета 2.4, иначе EL выражения не будут работать в webapp.

Если у вас еще есть сервлет 2.3 или старше <!DOCTYPE> в web.xml, даже если у вас уже есть сервлет 2.4 или более новый XSD, тогда он все равно будет вынужден для запуска в сервлетах 2.3 или более старых modus, в результате чего EL-выражения не срабатывают.

. Техническая причина: EL первоначально был частью JSTL 1.0 и недоступен в Servlet 2.3 / JSP 1.2 и старше. В JSTL 1.1 EL был удален из JSTL и интегрирован в JSP 2.0, который идет вместе с Servlet 2.4. Итак, если ваш web.xml объявлен для запуска webapp в Servlet 2.3 или более раннем модуле, JSP ожидает найти EL в библиотеке JSTL, но это, в свою очередь, потерпит неудачу, если это новая версия JSTL, лишенная EL.

См. также:

21
ответ дан BalusC 23 August 2018 в 18:19
поделиться

В моем случае для файла web.xml (version = "3.0") мне пришлось запустить приложение на сервере Tomcat v.8 вместо v.7, иначе у меня была такая же проблема, как и вы. Надеюсь, это поможет кому-то ...

<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
1
ответ дан Dodi 23 August 2018 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: