Hi, all.
Кто-нибудь обладает магией использования в SpringMVC запущенном из jar и jetty в качестве view - jsp страниц?
Пока получилось использовать только Velocity.
в такой конструкции не воспринимаются classpath: и получаю ошибки вида
(
Read more... )
Comments 25
Reply
Reply
Вообще, jsp нельзя паковать в jar. Можно сделать pre-compile в .class и запаковать в jar; можно сделать taglib и упаковать в jar; можно с помощью мавена распаковывать jar и перекладывать в /web-inf
Reply
у меня не web-app, у меня stand-alone, внутри которого запускается jetty, и у него один контроллер объявлен (в терминах SpringMVC, один класс помечен аннотацией @Controller). Если в контроллере писать что-то вроде
@RequestMapping(...)
public String formDisplay() {
return "form";
}
то прекрасно видно в браузере слово "form", но всю страницу же пихать сюда нельзя... Это для начала. А потом из jsp сразу бы объекты формировать и дальше их обрабатывать
Reply
http://stackoverflow.com/questions/8233886/jetty-embedded-spring-application
Reply
дальше идет куча свойств к нему,
и среди прочего в середине xml конфигурации есть объявление веб-контекстов
< bean class="org.eclipse.jetty.servlet.ServletHolder"
p:name="applicationServlet"
p:className="org.springframework.web.servlet.DispatcherServlet"
p:initOrder="1" >
< property name="initParameters" >
< map >
< entry key="contextConfigLocation" value="classpath:/application-config.xml,classpath:/application-context.xml"/ >
< /map >
< /property>
< /bean >
Reply
А как вы хотите, чтобы Jetty знал о спринге, если у вас только спринг знает о Jetty?
Обычно же в ServletContext натягивается spring с контекстами. Соответственно и спринговые контексты имеют доступы к ServletContext'у, через которые все и резолвится типа servlet'ов, jsp и т.п.
Reply
< property name="initParameters" >
< map >
< entry key="contextConfigLocation" value="classpath:/application-config.xml,classpath:/application-context.xml"/ >
< /map >
< /property >
в application-context.xml как раз описан веб-контекст :) в нем и можно остальные бины для jetty готовить
Reply
У меня в результате долгих ковыряний в интернете и исходниках jetty/apache jasper сформировался такой код:
Server server = new Server(8080 ( ... )
Reply
Reply
Reply
Reply
Leave a comment