2015-01-10 5 views
0

Я хочу спросить, как развернуть приложение на сервере приложений, например tomcat, Im, используя SpringMVC, и запускайте идею с помощью jetty, когда я запускаю в localhost: 8080, он работает, но при развертывании с использованием войны в кот, URL-адрес будет как локальный хост: 8080/приложения, то Войти показан, но когда контроллер вызов новой страницы это не удалось, пожалуйста, помогите мнеDeploy Appfuse SpringMCV в Tomcat

шагом я воспроизвожу AppFuse является:

  1. После http://appfuse.org/display/APF/AppFuse+QuickStart, запустить генерируемую команду mvn
  2. mvn appfuse: full-source
  3. до этого шага, когда я запускаю «mvn jetty: run», он работает нормально, либо я создаю войну, используя «mvn jetty: run-war», и есть demo.war, и я разворачиваю на tomcat еще OK
  4. I добавьте меню и страницы, один из которых - accountStatement.jsp и accountStatementResult.jsp с их контроллером. на странице AccountStatement выберите дату периода, а затем после нажатия кнопки «ext» появится результат accountStatement.
  5. результат accountStatement.jsp, как: accountStatement Вы можете попробовать его в этой ссылке, я уже разворачивать в amazonaws.ec2 сервере: http://ec2-54-175-88-32.compute-1.amazonaws.com:8080/demo/ имя пользователя является пользователь/пользователь или администратор/администратор

  6. Я использую кнопку отправки, и внутри AccountStatementController.java некоторые из важных кода, как показано ниже:

    public AccountStatementController() { 
    setCancelView("redirect:home"); 
    setSuccessView("/accountStatementResult"); 
    

    }

    @RequestMapping (метод = RequestMethod.POST) общественного Строка onSubmit ( @RequestParam (значение = "periodType", требуется = ложь) конечная строка periodType, @RequestParam (значение = "datepickerFrom", требуется = ложь) конечная строка datepickerFrom, @RequestParam (значение = "datepickerUntil", требуется = ложь) конечная строка datepickerUntil, @RequestParam (значение = "месяцев", требуется = FALSE) конечная строка месяцы, окончательный RedirectAttributes redirectAttributes, запроса окончательного HttpServletRequest) бросает исключение { String period = datepickerFrom + "-" + datepickerUntil; если (периодType.равнения ("ежемесячный")) { период = месяцы; }

    redirectAttributes.addFlashAttribute("period", period); 
    
    return getSuccessView(); 
    

    }

  7. Когда я бегу от IntelliJ Idea с помощью «МВН молы: запустить» запустить его идеальным, после нажать кнопку отправки, он будет перенаправлять на accountStatementResult страницу.

  8. Но когда я создаю demo.war и развертываю в tomcat, он запускает ошибку, после страницы accountStatement и кнопки, результатом является ошибка.

  9. Я думаю, что ошибка в urlwriter.xml, я когда-либо делал приложение, используя appfuse 1.9 в своем предыдущем офисе, и теперь я хочу создать и продать свое приложение с помощью appfus. Большое вам спасибо за вашу помощь.

Я также создаю репозиторий источника в коде Google, вы можете задать мне пароль, если вам нужно увидеть полный код. Спасибо

+0

Вы выяснили причину этого? –

+0

Еще не Мэтт, когда я запускаю как http://appfuse.org/display/APF/AppFuse+QuickStart и запускаю его с помощью mvn jetty: run, it success в http: // localhost: 8080. Но когда я развертываю в tomcat как webapps/demo.war, когда я вызываю страницу с контроллера, она всегда перенаправляется в корневой каталог, а не root/demo. Когда я вижу localhost_acces_log в папке tomcat/logs, проблема в URL всегда идет в корневой каталог, а не в корневой каталог: «POST/accountStatement HTTP/1.1» 404 - он должен перейти к: «POST/demo/accountStatement HTTP/1.1 "404 - –

+0

Я уже развертываю приложение в amazone ec2 по этой ссылке: http://ec2-54-175-88-32.compute-1.amazonaws.com:8080/demo, когда мы идем в меню : Informasi Rekening -> Mutasi Rekening и нажать кнопку отправки, это будет ошибка, когда мы запустим локально с помощью mvn jetty: запустите его отлично. –

ответ

1

В accountStatement.jsp, измените «действие» вашей формы, чтобы быть одним из следующих:

<form:form commandName="account" method="post" action="accountStatement" id="accountForm"> 

Это дает относительный URL к контроллеру, который вы хотите представить. Или вы можете указать абсолютный URL-адрес:

<form:form commandName="account" method="post" action="${ctx}/account/accountStatement" id="accountForm"> 

Я протестировал и убедился, что оба решения работают.

+0

Большое вам спасибо, он работает , Я попытаюсь создать веб-приложение, используя appfuse, и продать его, еще раз спасибо –

Смежные вопросы