SpringMVC:Controller的编写
SpringMVC:Controller的编写
Controller,通常通过接⼝定义和注解两种⽅式!
使⽤基于注解的控制器的优点如下:
⼀个 Controller 类可以处理多个动作,⽽实现了⼀个 Controller 接⼝的控制器只能处理⼀个动作。
基于 Controller 注解的控制器的请求映射不需要写在配置⽂件中。使⽤ @RequestMapping 注解类型,可以对⼀个⽅法进⾏请求处理。
实现Controller接⼝:
该接⼝在 org.springframework.web.servlet.mvc.Controller,该接⼝只有⼀个⽅法
package ller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AiController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {        ModelAndView mv = new ModelAndView();
mv.addObject("msg","乘风御剑");
mv.setViewName("hello");
return mv;
}
}
编写完成后在Spring中注册:
name对应请求路径,class对应处理请求的类
<bean name="/hello" class="ller.AiController"/>
mvc的controller
使⽤注解:
1、我们需要在Spring的配置⽂件中开启包的扫描:
<context:component-scan base-package="..." />
2、我们只需要在类上加@Controller注解,即可实Controller的功能:
@Controller
public class HelloController {
@RequestMapping("/h1")
public String hellomvc(){
return null;
}
}
标记@RequestMapping 注解的⽅法将成为⼀个请求处理⽅法,在接收到URL请求时被调⽤。
@RequestMapping(value="/hello", method = {RequestMethod.GET, RequestMethod.POST})
public String printHello() {
return null;
}
value : 表⽰请求的路径;
method : 表⽰只接受花括号内的请求⽅法;
@RequestMapping作⽤在类上:
通过注解实现⼀个类处理多个动作:
@Controller
@RequestMapping("/HelloController")
public class HelloController {
@RequestMapping("/h1")
public String hellomvc(){
return null;
}
@RequestMapping("/h2")
public String hellomvc(){
return null;
}
}
在请求的时候每个请求之前都要加上 /HelloController,例如:
/HelloController/h1
/HelloController/h2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。