Pergunta

Estou voltando para a Primavera depois de uma longa ausência e eu estou tentando chegar a uma simples web app instalado e em execução no Tomcat 6.0 com o Hibernate como um ORM.

O erro que eu estou ficando é:

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

Ele é executado através de meu controlador de multa:

@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";
    }   
}

Mas por algum motivo ele não aparece para compilar o jsp.Como quando eu mudar o nome ou eliminar o jsp não é possível(obviamente) encontrá-lo.

O web.xml para o dispatcher é:

     <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>

Eu, deve estar faltando algo óbvio...

Foi útil?

Solução 2

Certifique-se de que você tem todos os jstl, servlet e jsp dependências no seu pom/ caminho de classe:

        <!-- 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>

Outras dicas

Apenas um palpite, mas parece que o JSP pode não conter válido código java (falta importações e outras coisas) - para que o JSP não vai compilar um servlet e você terá a ClassNotFoundException.

Verifique o catalina.log arquivo para ver se há erros de compilação que está faltando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top