Primavera, JSP classe não encontrada
-
13-12-2019 - |
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...
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.