第一种:
@Controller //注解
public class TestController extends AbstractController{
@Override
@RequestMapping("/index") //注解:路径名
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
//System.out.println("hello,springMVC");
return new ModelAndView("MyJsp");
}
}
第二种:
@org.springframework.stereotype.Controller
@RequestMapping("testController02")
public class TestController02 implements Controller {
@Override
@RequestMapping("/doLogin")
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
ModelAndView mv=new ModelAndView();
if (name.equals("admin")&& pwd.equals("123")) {
User user=new User();
user.setUname(name);
user.setPwd(pwd);
mv.addObject("user",user);
mv.setViewName("MyJsp");
}
return mv;
}
}
第三种:
@Controller
@RequestMapping("testController03")
public class TestController03 { //不用extends, 也不用implements
@RequestMapping("/doLogin")
public String doLogin(@RequestParam String name,@RequestParam String pwd ){ //参数与form表单的值一致
System.out.println(name+"\t"+pwd);
return "MyJsp";
}
}
本文介绍了SpringMVC中控制层类的三种不同编写方式:一是通过`@Controller`注解并继承`AbstractController`;二是使用`@Controller`及`@RequestMapping`注解,并实现`Controller`接口;三是直接使用`@Controller`和`@RequestMapping`注解,不继承或实现任何类。每种方法都包含处理请求和返回视图的操作。
887

被折叠的 条评论
为什么被折叠?



