2015-02-09 14 views
0

我有這個控制器。我的控制器繼續返回錯誤「請求的資源不可用」

@Controller 
@RequestMapping("/addr") 
public class AddressController 
{ 

    public List<Address> addresses = (List<Address>) Collections.synchronizedCollection(new LinkedList<Address>()); 

    @RequestMapping("/new") 
    public String getAddressForm() 
    { 
    return "addressProject/addressBook"; 
    } 

    @RequestMapping("/submit") 
    public ModelAndView submitForm(String name, String email, String group, String phoneNumber, String address){ 
     Address addr = new Address(name, email, group, phoneNumber, address); 
     addresses.add(addr); 

     ModelAndView modelandview = new   ModelAndView("/addressproject/newAddress"); 

     return modelandview;  
    } 
} 

由於某種原因,本地主機只顯示請求的資源不可用。

我使用的正確網址是http://localhost:8080/ExampleSpringWebApp/smvc/addr/new

回答

0

您確定http://localhost:8080/ExampleSpringWebApp/smvc/addr/new是正確的網址嗎?我在@RequestMapping註釋中的任何地方都看不到smvc。那麼http://localhost:8080/ExampleSpringWebApp/addr/new

您的@Controller類是由spring實例化的嗎?你的春天裏有<context:component-scan /><mvc:annotation-driven />嗎?

你有看法「addressProject/addressBook」嗎?它可以被ViewResolver找到嗎?什麼是確切的錯誤信息?

的ClassCastException異常

嵌套的例外是java.lang.ClassCastException:java.util.Collections中的$ SynchronizedCollection不能轉換爲java.util.List的

結果從你打電話Collections.synchronizedCollection ,但將其轉換爲List。 Collections.synchronizedCollection()返回Collection - no List。請將其更改爲

public Collection<Address> addresses = (Collection<Address>) Collections.synchronizedCollection(new LinkedList<Address>()); 
+0

我試過鏈接和下面的工作,對不起,我不知道如何檢查另外兩個。這是我的第一個Web應用程序項目。 – user3913399 2015-02-09 21:31:52

+0

[第一個鏈接](http://gyazo.com/b8050ac43883c069551e21617ab1b3d7)和[Second link](http://gyazo.com/04ee29d52fe2294422ca1b069269eee9) – user3913399 2015-02-09 21:41:23

+0

如果添加一個構造函數'public class AddressController(){System.out.println (「Hello World」);}'並重新啓動你的應用程序,將「Hello World」打印到你的catalina.out中?如果不是,我猜這個彈簧不會初始化你的控制器。然後,您可能需要向applicationContext添加''和''。 xml – Alexander 2015-02-09 21:49:38

相關問題