Как Вы перенаправляете к странице с помощью глагола POST?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

123
задан tereško 13 July 2012 в 07:49
поделиться

2 ответа

HTTP не поддерживает перенаправление к странице с помощью POST. Когда Вы перенаправляете где-нибудь, заголовок "Местоположения" HTTP говорит браузер, куда пойти, и браузер выполняет ПОЛУЧИТЬ запрос на ту страницу. Необходимо будет, вероятно, просто написать код для страницы для принятия, ПОЛУЧАЮТ запросы POST, а также запросы.

97
ответ дан 24 November 2019 в 01:12
поделиться

Обычно у вас есть каталог, имя которого является именем вашего пакета, где-то на вашем PYTHONPATH. Например:

eulerproject/
    euler/
        __init__.py
        euler1.py
        ...
        tests/
            ...
    setup.py

Затем вы можете либо установить это в масштабе всей системы, либо не забудьте указать PYTHONPATH = / path / to / eulerproject /: $ PYTHONPATH при вызове вашего скрипта.

Абсолютный импорт, например тогда это будет работать:

from euler import euler1

Edit :

Согласно документам Python, «модули, предназначенные для использования в качестве основного модуля приложения Python, всегда должны использовать абсолютный импорт». ( Цитируйте )

Таким образом, тестовый набор, такой как нос , упомянутый в другом ответе, работает, потому что он импортирует пакеты, а не запускает их из командной строки.

Если вы хотите делать что-то вручную, ваш исполняемый скрипт должен находиться вне иерархии пакетов, например:

eulerproject/
    runtests.py
    euler/
        __init__.py
        euler1.py
        ...
        tests/
            __init__.py
           testeulern.py

Теперь, это то, что предлагает ссылка, которую вы разместили в своем ответе.

Я хотел бы знать, что "не так" в этом, если есть что-нибудь. Очевидно, если вы действительно хотите отправить браузеру перенаправление, это не сработает, но тогда вы должны спросить, почему вы все равно пытаетесь преобразовать это, поскольку мне это кажется странным.

Надеюсь, что помогает.

157
ответ дан 24 November 2019 в 01:12
поделиться
Другие вопросы по тегам:

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