2016-06-28 103 views
0

我開始Spring MVC中一個新的項目,而我試圖運行的Hello World,它是引發錯誤:春:ClassNotFound的異常

這是我的調度員servlet.xml中映射:

 <?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 

    <bean name="/welcome.html" 
     class="com.shaurya.FirstController" /> 

    <bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver" > 
     <property name="prefix"> 
      <value>/WEB-INF/jsp/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 
</beans> 

這是web.xml文件:

 <web-app id="WebApp_ID" version="2.4" 
     xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

     <display-name>Spring Web MVC Application</display-name> 
     <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>*.html</url-pattern> 
    </servlet-mapping> 
</web-app> 

控制器代碼是在這裏:

package com.shaurya; 

    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
    import org.springframework.web.servlet.ModelAndView; 
    import org.springframework.web.servlet.mvc.AbstractController 

    public class FirstController extends AbstractController{ 
    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest request, 
     HttpServletResponse response) throws Exception { 
    String message="welcome to Spring"; 
    ModelAndView model= new ModelAndView("welcome"); 
    model.addObject("message", message); 
    return model; 
     } 
    } 

這是爲了控制視圖頁面來呈現的welcome.jsp:

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
     pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Insert title here</title> 
    </head> 
     <body> 
     <a href="welcome.html">sdsd</a> 
    </body> 
    </html> 

爲什麼會出現錯誤,它似乎是這樣的:

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find  class [com.shaurya.FirstController] for bean with name'/welcome.html' enter code heredefined in ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]; nested exception is java.lang.ClassNotFoundException: com.shaurya.FirstController. 

任何建議缺少什麼嗎?

回答

1

你能嘗試修改此代碼

<bean name="/welcome.html" 
     class="com.shaurya.FirstController" /> 

這個

<bean name="/welcome" 
     class="com.shaurya.FirstController" /> 

至於html的映射在web.xml中已經做了你可能不應該需要在bean的映射再次提到它

+0

改變了tha映射,我從xml中刪除了「」,但仍然gettig 404. point is url changes to「http://LOCA lhost:9080/welcome.html「當我點擊鏈接。這是對的嗎。 – Shaurya

+0

你可以檢查/ WEB-INF/classes目錄是否生成類 – Mudassar

+0

不存在這樣的文件夾。我現在應該怎麼做? – Shaurya