Моя программа struts выдает ошибку
Эта программа написана на struts, и я не смог найти ответ нигде в stackoverflow. Во время запуска программы она выдает "nullpointerexception".Это простая программа входа в систему struts, созданная в среде netbeans.
Код выглядит следующим образом:
Что я уже пробовал:
web.xml
-------
***
*
& lt;welcome-file-list>
& lt;welcome-Файл & gt;login.jsp
*
логин.ОСП
---------
&ЛТ;%@taglib в Ури="/веб-инф/распорок-в HTML.дву" префикс="HTML-код" %&ГТ;
< html>
< голова>
в <название>В странице входа в систему&ЛТ;/название&ГТ;
< / head>
& lt;тело>
& lt;html: ошибки/>
& lt;html:form action=" / Login">
Имя пользователя :&ЛТ;HTML-код:текст имя="LoginForm, который будет" собственность="имя пользователя"/&ГТ;
Пароль :&ЛТ;HTML-код:пароль название="LoginForm, который будет" собственность="пароль"/&ГТ;
& lt;html:submit value= "Login" />
< / html: форма>
< / body>
< / html>
struts-config.xml
=================
& lt;struts-config>
& lt;форма-бобы>
&ЛТ;форма-бин наименование="LoginForm, который будет" тип="ком.vaannila.Логинформ" / >
< / форма-бобы>
& lt;action-mappings>
&ЛТ;действия входного="/логин.ОСП" имя="LoginForm, который" путь="/логин" область="сессия" тип="ком.vaannila.LoginAction " >
< forward name= "success" path=" / success.jsp " >
< forward name= "failure" path=" / failure.jsp " >
LoginForm.java
--------------
LoginForm, который будет общественный класс расширяет actionform из{
имя пользователя частной строки;
личный строковый пароль;
public void setuserName(String user)
{
this. userName=пользователь;
}
публичная строка getuserName()
{
вернуть имя пользователя;
}
общественного недействительными задание пароля(строка проходят)
{
это.пароль=пройти;
}
публичная строка getpassword()
{
возврат пароля;
}
общественные акционируются проверки(сопоставление ActionMapping, HttpServletRequest запросу) {
Ошибки акционируются = новый акционируются();
if (userName == null | / userName. length() < 1) {
ошибки.добавить("имя", новый ActionMessage("ошибка.имя пользователя.требуется"));
}
if (password = = null | / пароль.длина () < 1) {
ошибки.добавить("пароль", новый ActionMessage("ошибка.пароль.требуется"));
}
возвращать ошибку;
}
ApplicationResource.свойства
------------------------------
ошибка.имя пользователя.требуется = имя пользователя не требуется.
ошибка.пароль.требуется = пароль.
LoginAction.java
----------------
LoginAction открытый класс расширяет org."Апач".распорки.действий.Действие {
private final static String SUCCESS = " успех";
private final static String FAILURE = " сбой";
public ActionForward execute(сопоставление ActionMapping, форма ActionForm, запрос HttpServletRequest, ответ HttpServletResponse) вызывает исключение {
LoginForm, который будет LoginForm, который будет = (LoginForm, который) форма;
если (LoginForm, который будет.getUserName().равно(LoginForm, который будет.методов getpassword())) {
вернуть отображение.findForward(успех);
} еще {
вернуть отображение.findForward(отказ);
}
}
}
HTTP Status 500 - Внутренняя ошибка сервера
________________________________________
тип отчета об исключении
ошибка messageInternal Server
описание сервер столкнулся с внутренней ошибкой, которая помешала ему выполнить этот запрос.
исключение
класса javax.сервлет.ServletException: java. lang.Исключение NullPointerException
первопричина
Ява.яз.Исключение NullPointerException
Примечание: полные трассировки стека исключения и его первопричины доступны в журналах GlassFish Server Open Source Edition 4.1.
________________________________________
GlassFish Server Open Source Edition 4.1
трассировка стека
----------
Запуск GlassFish на платформе Felix
Aug 09, 2016 11:16: 34 AM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner createBundleProvisioner
Информация: создать пакет поставщица класс = класс com.солнце.предприятия.в GlassFish.начальной загрузки.OSGi для.BundleProvisioner.
Aug 09, 2016 11:16: 34 AM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
Предупреждение: пропуск записи, потому что это не абсолютный URI.
Aug 09, 2016 11:16: 34 AM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
Предупреждение: пропуск записи, потому что это не абсолютный URI.
Зарегистрированный com.солнце.предприятия.в GlassFish.начальной загрузки.OSGi для.EmbeddedOSGiGlassFishRuntime@8bf20b в реестре служб.
Найден населитель: com.sun.enterprise.v3.server.GFDomainXml
#!## LogManagerService.postConstruct : rootFolder=c: программа\файлов\приложений GlassFish-4.1\приложений GlassFish
#!## LogManagerService.postConstruct : templateDir=c: программа\файлов\приложений GlassFish-4.1\\GlassFish в Либ\шаблоны
#!## LogManagerService.postConstruct : СРЦ=С: Program\файлов\приложений GlassFish-4.1\стеклянных\Либ\шаблоны\лесозаготовки.свойства
#!## LogManagerService.postConstruct : дест=С:\Пользователи\ом\папка AppData\роуминг\в NetBeans\8.0.1\конфиг\GF_4.1\домен1\конфиг\лесозаготовки.свойства
Информация: запуск GlassFish версия: GlassFish Server Open Source Edition 4.1 (build 13)
Информация: файл журнала сервера использует класс форматирования: com.sun.enterprise.server.logging.ODLLogFormatter
Инфо: Царство [админ-царство] из типа класса [ком.солнце.предприятия.безопасности.авт.царство.файл.FileRealm] успешно создан.
Информация: Realm [file] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] успешно создан.
Информация: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] успешно создан.
Информация: зарегистрировано орг.в GlassFish.ха.магазин.адаптер.кэш.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry
Информация: служба авторизации успешно инициализирована.
Информация: Grizzly Framework 2.3.15 запущен в: 31ms-привязан к [/0.0.0.0:8080]
Информация: Grizzly Framework 2.3.15 запущен в: 0ms-привязан к [/0.0.0.0:8181]
Информация: Grizzly Framework 2.3.15 запущен в: 0ms-привязан к [/0.0.0.0:4848]
Информация: Grizzly Framework 2.3.15 запущен в: 0ms-привязан к [/0.0.0.0:3700]
Информация: посещение непрошеных ссылок
Информация: Java security manager отключен.
Информация: Вход В Службу Запуска Безопасности.
Информация: погрузка политика поставщика ком.солнце.предприятия.безопасности.поставщика.Полисмен.
Информация: Служба безопасности успешно запущена.
Информация: создан http-прослушиватель http-listener-1 на хосте / порту 0.0.0.0:8080
Информация: создан http-прослушиватель http-listener-2 на хосте / порту 0.0.0.0:8181
Информация: дата создания HTTP-прослушиватель админ-слушателя на хост/порт 0.0.0.0:4848
Информация: дата создания виртуального сервера
Информация: создан виртуальный сервер _ _ asadmin
Информация: установка в систему jaas название приложения в GlassFish-веб
Информация: виртуальный сервер сервер загружен веб-модулем по умолчанию
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: посещение непрошеных ссылок
Информация: инициализация Mojarra 2.2.7 ( 20140610-1547 https://svn.java.net/svn/mojarra~svn/tags/2.2.7@13362) для контекста '/ login'
Информация: создайте экземпляр упаковки ActionListener типа ' com.sun.faces.application.ActionListenerImpl'
Информация: HV000001: Hibernate Validator 5.0.0. Final
Информация: загрузка каталога цепочек из jar:file:/C:/Users/OM/Documents/NetBeansProjects/login/build/web/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml
Информация: фабрика определения плиток загружена для модуля".
Информация: загрузка файла правил проверки из '/WEB-INF/validator-rules.xml'
Информация: загрузка файла правил проверки из '/WEB-INF/validation.xml'
Информация: загрузка приложения [login] в [/login]
Информация: загрузка логина приложения выполняется за 7,785 МС
Информация: GlassFish Server Open Source Edition 4.1 (13) Время запуска: Felix (7,304 МС), startup services(8,352 МС), total (15,656 МС)
Информация: Grizzly Framework 2.3.15 запущен в: 0ms-привязан к [/0.0.0.0:7676]
Информация: зарегистрированный com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishImpl@1b88914 как OSGi для регистрационной службы: орг."Апач".Феликс.рамки.ServiceRegistrationImpl@11a03bf.
Информация: JMXStartupService начал JMXConnector на JMXService сервис адрес:интерфейс JMX:РМИ://НИИТ-ПК:8686/как JNDI/РМИ://НИИТ-ПК:8686/jmxrmi
Информация: создан http-прослушиватель http-listener-1 на хосте / порту 0.0.0.0:8080
Информация: Grizzly Framework 2.3.15 запущен в: 0ms-привязан к [/0.0.0.0:8080]
Информация: создан http-прослушиватель http-listener-2 на хосте / порту 0.0.0.0:8181
Информация: Grizzly Framework 2.3.15 запущен в: 0ms-привязан к [/0.0.0.0:8181]
Информация: фабрика определения плиток найдена для процессора запросов".
Предупреждение: форма "LoginForm" не найдена для локали "en_US"
Предупреждение: Resource org/apache/struts/action/ActionResources_en_US. properties не найден.
Предупреждение: Resource org/apache/struts/action/ActionResources_en. properties не найден.
Предупреждение: необработанное исключение: класс java.lang.Исключение NullPointerException
Предупреждение: StandardWrapperValve[action]: Servlet. service() для действия сервлета выдал исключение
Ява.яз.Исключение NullPointerException
на ком.vaannila.LoginAction.выполнить(LoginAction.Ява:26)
в орг."Апач".распорки.действий.RequestProcessor.processActionPerform(RequestProcessor. java:425)
в орг."Апач".распорки.действий.RequestProcessor. process(RequestProcessor. java:228)
в орг."Апач".распорки.действий.ActionServlet.процесс(ActionServlet.Ява:1913)
в орг."Апач".распорки.действий.ActionServlet.doPost(ActionServlet. java:462)
в пакете javax.сервлет.протоколу HTTP.Он полностью реализует интерфейс.сервис(он полностью реализует интерфейс.Ява:707)
в пакете javax.сервлет.протоколу HTTP.Он полностью реализует интерфейс.сервис(он полностью реализует интерфейс.Ява:790)
в орг."Апач".Каталина.ядро.StandardWrapper.обслуживание(StandardWrapper.Ява:1682)
в орг."Апач".Каталина.ядро.StandardWrapperValve.вызов(StandardWrapperValve.Ява:318)
в орг."Апач".Каталина.ядро.StandardContextValve.вызов(StandardContextValve.Ява:160)
в орг."Апач".Каталина.ядро.Стандартпипелин.doInvoke(StandardPipeline. java:734)
в орг."Апач".Каталина.ядро.StandardPipeline.вызов(StandardPipeline.Ява:673)
на ком.солнце.предприятия.веб.WebPipeline.вызов(WebPipeline.Ява:99)
в орг."Апач".Каталина.ядро.StandardHostValve.вызов(StandardHostValve.Ява:174)
в орг."Апач".Каталина.разъем.Койотадаптер.doService(CoyoteAdapter. java:415)
в орг."Апач".Каталина.разъем.CoyoteAdapter.обслуживание(CoyoteAdapter.Ява:282)
в com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
на ком.солнце.предприятия.В3.услуги.осущ.ContainerMapper.обслуживание(ContainerMapper.Ява:167)
в орг.в GlassFish.гризли.протоколу HTTP.сервер.Обработчик HttpHandler.runService(обработчик HttpHandler.Ява:201)
в орг.в GlassFish.гризли.протоколу HTTP.сервер.HttpHandler.doHandle(HttpHandler. java:175)
в орг.в GlassFish.гризли.протоколу HTTP.сервер.HttpServerFilter.handleRead(HttpServerFilter.Ява:235)
в орг.в GlassFish.гризли.filterchain.ExecutorResolver$9. execute(ExecutorResolver. java:119)
в орг.в GlassFish.гризли.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain. java:284)
в орг.в GlassFish.гризли.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain. java:201)
в орг.в GlassFish.гризли.filterchain.DefaultFilterChain.execute(DefaultFilterChain. java:133)
в орг.в GlassFish.гризли.filterchain.DefaultFilterChain.процесс(DefaultFilterChain.Ява:112)
в орг. глассфиш. гризли.ProcessorExecutor.выполнить(ProcessorExecutor.Ява:77)
в орг.в GlassFish.гризли.НИО.транспорт.TCPNIOTransport.fireIOEvent(TCPNIOTransport.Ява:561)
в орг.в GlassFish.гризли.стратегии.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.Ява:112)
в орг.в GlassFish.гризли.стратегии.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy. java:117)
в орг.в GlassFish.гризли.стратегии.WorkerThreadIOStrategy. access$100(WorkerThreadIOStrategy. java:56)
в орг.в GlassFish.гризли.стратегии.WorkerThreadIOStrategy$WorkerThreadRunnable. run(WorkerThreadIOStrategy. java:137)
в орг.в GlassFish.гризли.класса ThreadPool.AbstractThreadPool$Worker.doWork (AbstractThreadPool. java:565)
в орг.в GlassFish.гризли.класса ThreadPool.AbstractThreadPool$Worker. run(AbstractThreadPool. java:545)
на Яве.Нить.выполнения(резьба.на Java:745)