Jetty 7 Spring 3.0.5集成

时间:2011-10-25 02:13:39

标签: spring jetty

我是Jetty和Spring技术的新手。我尝试将Spring 3.0.5集成到Jetty 7,但我收到了每条错误消息。

我的配置是Mac Os X Lion,Eclipse Indigo,Jetty 7,Spring 3.0.5。

有人使用带有弹簧框架嵌入式Jetty的Eclipse吗?我

     2011-10-24 21:47:28.060:INFO:oejs.Server:jetty-7.5.2.v20111006
    2011-10-24 21:47:29.094:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, 
    did not find org.apache.jasper.servlet.JspServlet
    2011-10-24 21:47:29.146:WARN:oejw.WebAppContext:Failed startup of context  
    o.e.j.w.WebAppContext{/,file:/Users/benjamin/Documents/workspace/jettyserver/WebContent/}
    java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

jettyserver.java

    public static void main(String[] args)   {

      Server server = new Server(8080);

      WebAppContext context = new WebAppContext();
      context.setResourceBase("../jettyserver/WebContent");
      context.setDescriptor("../jettyserver/WebContent/WEB-INF/web.xml");
      context.setContextPath("/");
      context.setParentLoaderPriority(true);

      HandlerList handlers = new HandlerList();
      handlers.setHandlers(new Handler[]{ context, new DefaultHandler()});

      server.setHandler(handlers);
      //server.setHandler(context);
      try {
           server.start();
           server.join();
      } catch (Exception e) {
          e.printStackTrace();
      }
 }

web.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      id="WebApp_ID" version="2.5">

   <display-name>Spring3MVC</display-name>

   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>

  <context-param>
    <param-name>contextConfigLocation</param-name>
      <param-value>WEB-INF/spring-servlet.xml</param-value>
  </context-param>

  <listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>

   <servlet>
      <servlet-name>spring</servlet-name>
      <servlet-class>
          org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
       <servlet-name>spring</servlet-name>
      <url-pattern>*.html</url-pattern>
   </servlet-mapping>

   </web-app>

spring-servlet.xml

         <?xml version="1.0" encoding="UTF-8"?>
         <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:p="http://www.springframework.org/schema/p"
          xmlns:context="http://www.springframework.org/schema/context"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd">

     <context:annotation-config />
         <context:component-scan base-package="com.jetty.controller" />

         <bean id="viewResolver"
            class="org.springframework.web.servlet.view.UrlBasedViewResolver">
         <property name="viewClass"
           value="org.springframework.web.servlet.view.JstlView" />
         <property name="prefix" value="/WEB-INF/jsp/" />
         <property name="suffix" value=".jsp" />
         </bean>

好吧最后我能够运行码头7但是当我录音时没有任何事情发生 在safari中这个url localhost:8080 /你好。我在/ hello的控制器中添加了@RequestMapping。在这里我的主要

      Server server = new Server(8080);

      WebAppContext context = new WebAppContext();
      context.setResourceBase("../jettyserver/webapp");
      context.setContextPath("/");
      context.setParentLoaderPriority(true);

      HandlerList handlers = new HandlerList();
      handlers.setHandlers(new Handler[]{ context, new DefaultHandler()});

      server.setHandler(context);

它像弹簧一样没有映射我的控制器。我做错了什么?

1 个答案:

答案 0 :(得分:0)