I have a Spring MVC application where I use hibernate, freemarker. It is configured as a project with several maven. I am using IntelliJ ultimate.
The berth starts fine, but when I go to
http:
It just displays the folders of my project, and I can view the source code in a browser!
Here is my setup now:
final Server server = new Server(8080); ProtectionDomain domain = HttpServer.class.getProtectionDomain(); URL location = domain.getCodeSource().getLocation(); WebAppContext webAppContext = new WebAppContext(); webAppContext.setResourceBase(location.toExternalForm()); webAppContext.setDescriptor(location.toExternalForm() + "/WEB-INF/web.xml"); webAppContext.setContextPath("/"); webAppContext.setParentLoaderPriority(true); server.setHandler(webAppContext); server.start(); server.join();
My project layout is a multi-maven project (using intelli J), the layout is similar:
/myapp/src/main/java/main.java (this contains the above code to start jetty) /myapp/src/main/webapp /myapp/src/main/webapp/assets /myapp/src/main/webapp/WEB-INF /myapp/src/main/webapp/WEB-INF/web-context.xml (spring config file) /myapp/src/main/webapp/WEB-INF/web.xml /myapp/src/main/webapp/WEB-INF/views/ (parent folder for my freemarker template files) /myapp/src/main/webapp/WEB-INF/views/home/index.ftl
My web.xml:
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath*:log4j.properties</param-value> </context-param> <servlet> <servlet-name>myapp</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/web-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>myapp</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
When I run this in IntelliJ (11 ulimitate), I get the following output:
2012-08-15 19:17:11,611 [main] INFO org.eclipse.jetty.server.Server - jetty-7.6.2.v20120308 2012-08-15 19:17:11,886 [main] INFO org.eclipse.jetty.webapp.StandardDescriptorProcessor - NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet 2012-08-15 19:17:11,962 [main] INFO org.eclipse.jetty.server.handler.ContextHandler - started oejwWebAppContext{/,file:/Users/me/projects/myapp/myapp-web/target/classes/} 2012-08-15 19:17:12,021 [main] INFO org.eclipse.jetty.server.AbstractConnector - Started SelectChannelConnector@0.0.0.0 :8080
This obviously doesn't work, because when I run it using tomcat w / intelliJ, I get huge output for things like hibernate, spring, etc.
My pom.xml for the web module has:
.. <packaging>war</packaging> ..