2012-07-14 61 views
0

我想用GET方法創建一個簡單的Spring項目,並且遇到了允許訪問它的麻煩。這裏是我的控制器......在Spring中實現一個簡單的GET方法

package controller; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.servlet.mvc.AbstractController; 

public class IndexController extends AbstractController { 

    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { 
     String message = "Hello, World!"; 
     return new ModelAndView("index", "msg", message); 
    } 

    @RequestMapping(method = RequestMethod.GET) 
    public ModelAndView setupForm(@RequestParam("name") String name) { 
     return new ModelAndView("index", "msg", name); 
    } 
} 

當我鍵入URL:「HTTP://本地主機:8080 /的HelloWorld/index.htm的名稱=喬恩例如,它只是返回頂部方法。有任何想法嗎?

非常感謝, Ĵ

+0

你是否嘗試過不擴展任何類。註釋@Controller並刪除重寫的方法。 – 2012-07-14 19:02:34

+0

當我這樣做,並與網址 /HelloWorld/index.htm運行它,它給了我錯誤:客戶端發送的請求語法不正確()。 – Jon 2012-07-14 19:12:21

+0

@Jon這通常意味着你缺少請求參數。 – soulcheck 2012-07-14 19:13:01

回答

2

嘗試擺脫一個AbstractController的(不擴展它)並遵循Petter給出的建議(順便說一下,最好將@RequestMapping添加到兩個方法中)。相反,請使用@Controller註釋標記控制器。之後,它應該工作。

+0

完美!非常感謝你,擺脫AbstractController,添加@Controller並添加'@RequestMappings'兩個工作!我不確定爲什麼,因爲它以某種方式在工作中以另一種方式工作= P感謝所有其他人都有一些優秀的想法。 – Jon 2012-07-14 21:23:16

1

一些特定的URL添加請求映射到你的方法MAPP它在你的應用程序的根URL

@RequestMapping(value = "/something") 
+0

謝謝,但我試過。它仍然是最重要的方法。我不確定在某處是否存在與文件鏈接斷開的情況,jsp文件是否需要任何附加代碼鏈接到此方法? – Jon 2012-07-14 20:59:53

相關問題