0

久违了,我将返回 Spring,我正在尝试在 Tomcat 6.0 上启动并运行一个简单的 Web 应用程序,并将 Hibernate 作为 ORM。

我得到的错误是:

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>

我一定遗漏了一些明显的东西......

4

2 回答 2

2

只是一个猜测——但看起来 JSP 可能不包含有效的 java 代码(缺少导入和东西)——所以 JSP 不会编译为 servlet,你会得到ClassNotFoundException.

检查catalina.log文件以查看您是否缺少编译错误。

于 2012-10-03T14:48:29.230 回答
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>
于 2012-10-04T08:09:46.897 回答