Spring,JSP类没找到

时间:2012-10-03 14:40:28

标签: spring-mvc spring-3

我很久没有回到Spring了,我正在尝试使用Hibernate作为ORM在Tomcat 6.0上运行一个简单的Web应用程序。

我得到的错误是:

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>

我一定错过了一些明显的东西......

2 个答案:

答案 0 :(得分:2)

只是一个猜测 - 但看起来JSP可能不包含有效的java代码(缺少导入和东西) - 因此JSP不会编译到servlet而你将获得ClassNotFoundException

检查catalina.log文件,看看是否有遗漏的编译错误。

答案 1 :(得分:1)

确保你的pom / class路径中包含所有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>