2016-04-05 2 views
-2

Picure Herejava.lang.ClassNotFoundException: com.assignment.controller.CRUDController

Примечание: в картине над ней говорит имена пакетов assignmentdan и в задаче «дан» не существует, но это никоим образом не влияет на эта ошибка!

при развертывании моего приложения Eclipse для AWS, которое работает на TOMCAT8, оно не отображает мою базу данных SQL. Я проверил журналы и было это исключение:

05-Apr-2016 13:57:23.975 INFO [http-nio-8080-exec-1] org.apache.catalina.core.ApplicationContext.log Marking servlet CRUDController as unavailable 
05-Apr-2016 13:57:23.978 SEVERE [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet CRUDController 

java.lang.ClassNotFoundException: com.assignment.controller.CRUDController 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333) 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167) 
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520) 
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:817) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 

Кто-нибудь знает, что это значит о моем сервлете? Все кажется в порядке ??

CRUDController (где я создаю мой сервлет)

public class CRUDController extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    private CrudDao dao; 

    public CRUDController() { 
     dao=new CrudDao(); 
    } 


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    } 


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     if(request.getParameter("action")!=null){ 
      List<User> lstUser=new ArrayList<User>(); 
      String action=(String)request.getParameter("action"); 
      Gson gson = new Gson(); 
      response.setContentType("application/json"); 

      if(action.equals("list")){ 
       try{       
       //Fetch Data from User Table 
       lstUser=dao.getAllUsers();   
       //Convert Java Object to Json    
       JsonElement element = gson.toJsonTree(lstUser, new TypeToken<List<User>>() {}.getType()); 
       JsonArray jsonArray = element.getAsJsonArray(); 
       String listData=jsonArray.toString();    
       //Return Json in the format required by jTable plugin 
       listData="{\"Result\":\"OK\",\"Records\":"+listData+"}";    
       response.getWriter().print(listData); 
       }catch(Exception ex){ 
        String error="{\"Result\":\"ERROR\",\"Message\":"+ex.getMessage()+"}"; 
        response.getWriter().print(error); 
        ex.printStackTrace(); 
       }    
      } 
      else if(action.equals("create") || action.equals("update")){ 
       User user=new User(); 
       if(request.getParameter("userid")!=null){     
        int userid=Integer.parseInt(request.getParameter("userid")); 
        user.setUserid(userid); 
       } 
       if(request.getParameter("firstName")!=null){ 
        String firstname=(String)request.getParameter("firstName"); 
        user.setFirstName(firstname); 
       } 
       if(request.getParameter("lastName")!=null){ 
        String lastname=(String)request.getParameter("lastName"); 
        user.setLastName(lastname); 
       } 
       if(request.getParameter("email")!=null){ 
        String email=(String)request.getParameter("email"); 
        user.setEmail(email); 
       } 
       try{            
        if(action.equals("create")){//Create new record 
         dao.addUser(user);     
         lstUser.add(user); 
         //Convert Java Object to Json    
         String json=gson.toJson(user);     
         //Return Json in the format required by jTable plugin 
         String listData="{\"Result\":\"OK\",\"Record\":"+json+"}";           
         response.getWriter().print(listData); 
        }else if(action.equals("update")){//Update existing record 
         dao.updateUser(user); 
         String listData="{\"Result\":\"OK\"}";         
         response.getWriter().print(listData); 
        } 
       }catch(Exception ex){ 
         String error="{\"Result\":\"ERROR\",\"Message\":"+ex.getStackTrace().toString()+"}"; 
         response.getWriter().print(error); 
       } 
      }else if(action.equals("delete")){//Delete record 
       try{ 
        if(request.getParameter("userid")!=null){ 
         String userid=(String)request.getParameter("userid"); 
         dao.deleteUser(Integer.parseInt(userid)); 
         String listData="{\"Result\":\"OK\"}";        
         response.getWriter().print(listData); 
        } 
       }catch(Exception ex){ 
       String error="{\"Result\":\"ERROR\",\"Message\":"+ex.getStackTrace().toString()+"}"; 
       response.getWriter().print(error); 
      }    
     } 
    } 
    } 
} 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <welcome-file-list> 
     <welcome-file>main.html</welcome-file> 
     <welcome-file>main.htm</welcome-file> 
     <welcome-file>main.jsp</welcome-file> 
     <welcome-file>default.html</welcome-file> 
     <welcome-file>default.htm</welcome-file> 
     <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 


    <servlet> 
     <display-name>CRUDController</display-name> 
     <servlet-name>CRUDController</servlet-name> 
     <servlet-class>com.assignment.controller.CRUDController</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>CRUDController</servlet-name> 
     <url-pattern>/CRUDController</url-pattern> 
    </servlet-mapping> 
</web-app> 

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>AssignmentDan</groupId> 
<artifactId>AssignmentDan</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 
<build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>1.6</source> 
     <target>1.6</target> 
    </configuration> 
    </plugin> 
    <plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <warSourceDirectory>WebContent</warSourceDirectory> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
    </configuration> 
    </plugin> 
</plugins> 

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

+0

Что такое имя пакета класса 'CRUDController'? –

+0

@ cricket_007 \t com.assignment.controller.CRUDController – Leanneheal

+0

@Leanneheal, Не могли бы вы разместить свою структуру проекта как изображение, а также, пожалуйста, напишите свой файл pom.xml, если вы его поддерживаете? –

ответ

0

ClassNotFoundException: com.assignment.controller.CRUDController

Просто посмотрите на вашу структуру пакета.

У вас нет пакета с именем com.assignment.controller. Вместо этого у вас есть пакет по имени com.assignmentdan.controller.

Давайте пройдемся по комментариям ...

я отправил ПИК дана каждое задание, так что теперь его com.assignmentdan.controller.CRUDController ... оно не влияет ничего Тхо я до сих пор имеет те же ошибки

я изменил имя пакета один крошечный бит

я изменил везде говорит задание .. это assignementdan

@ Бен уже сказал вам решение, но вы, похоже, не поняли. Поскольку вы изменили имя пакета на com.assignmentdan, вы должны вручную отредактировать файл web.xml, чтобы отразить это изменение.

<servlet-class>com.assignmentdan.controller.CRUDController</servlet-class> 

Кроме того, я думаю, что в pom.xml, то идентификатор_группы должен быть com.assignmentdan.controller

+0

Мне действительно нужно написать новый вопрос, возможно, загрузить или добавить новый xml, потому что я понимаю, что .. я обновил web.xml до com.assignmentdan.controller.CRUDController и получил точный такая же ошибка, говоря, что он не может найти мой сервлет – Leanneheal

+0

В ответ я добавил еще одну вещь. Возможно, попробуйте maven очистить и построить снова. Я не думаю, что вы должны получить ту же ошибку после обновления этого файла. –