2012-07-14 59 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

相关问题