2012-10-03 71 views
0

我在很久沒有回到Spring上了,我試圖在Tomcat 6.0上運行一個簡單的Web應用程序,使用Hibernate作爲ORM。未找到Spring,JSP類

我得到的錯誤是:

SEVERE: Servlet.service() for servlet mvc-dispatcher threw exception 
java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.view.viewAllEnquiries_jsp 

它貫穿於我的控制器罰款:

@Controller 
@ComponentScan("com.intl.cigna.ecommerce.dao") 

public class EnquiryController { 

    @Autowired 
    private EnquiryDao enquiryDao; 

    @RequestMapping("/viewAllEnquiries") 
    public String getAllEnquiries(Model m) { 
     List<Enquiry> enqs = enquiryDao.getAllEnquiries(); 
     m.addAttribute("SEARCH_ENQUIRIES_RESULTS_KEY", enqs); 
     return "viewAllEnquiries"; 
    } 
} 

但由於某種原因,它似乎沒有編譯JSP。當我重命名或刪除jsp時,它不能(顯然)找到它。

用於調度的web.xml文件是:

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

    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

我必須失去了一些東西明顯...

+0

哪種觀點解析器配置您使用的? 你在哪裏保存你的JSP文件? – RonK

+0

我使用org.springframework.web.servlet.view.InternalResourceViewResolver 而JSP的是: <屬性名= 「前綴」> /WEB-INF /視圖/ 作爲每視圖解析器配置。 – enkor

回答

1

確保你在你的POM /類路徑中所有的JSTL,Servlet和JSP的依賴性:

 <!-- Servlet --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp.jstl</groupId> 
      <artifactId>jstl-api</artifactId> 
      <version>1.2</version> 
     </dependency>  
     <dependency> 
      <groupId>org.glassfish.web</groupId> 
      <artifactId>jstl-impl</artifactId> 
      <version>1.2</version> 
     </dependency> 
2

只是一個猜測 - 但它看起來像JSP可能不包含有效的Java代碼(缺少進口和東西) - 所以JSP不會編譯成servlet,您將得到ClassNotFoundException

檢查catalina.log文件以查看是否存在缺少的編譯錯誤。

+0

除了控制檯輸出內容外,它似乎不會在通過Eclipse WTP運行時創建日誌。 – enkor

+0

您是否在' \。metadata \ .plugins \ org.eclipse.wst.server.core \ tmp1 \'下進行檢查? – RonK

+1

另外,您可以將您的JSP更改爲簡單的「hello world」html嗎? – RonK