SpringMVC 基础入门 Controller控制器实现的3种方式
程序员文章站
2022-07-14 12:05:50
...
4.Controller控制器实现的3种方式
现在只用第三种,全注解
4.1.第一种实现Controller接口:
//实现Controller接口
public class Controller01 implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println(this.getClass());
//模型数据和视图对象
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("/WEB-INF/controller.jsp");
return modelAndView;
}
}
配置
<bean id="/controller01.do" class="cn.itsource.springmvc._02_controller.Controller01"></bean>
4.2.第二种实现HttpRequestHandler接口:
//实现了HttpRequestHandler接口
public class Controller02 implements HttpRequestHandler{
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(this.getClass());
request.getRequestDispatcher("/WEB-INF/controller.jsp").forward(request, response);
}
}
配置
<bean id="/controller02.do" class="cn.itsource.springmvc._02_controller.Controller02"></bean>
4.3.第三种普通类和注解:建议使用(请看后面的全注解配置)
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBean
没有继承类,也没有实现类
/**
* SpringMVC中的Controller就是单例的(使用成员变量请注意线程安全问题)
* 注:不要忘了,配置全注解扫描包才能认识@Controller
* @author Administrator
*/
@Controller
public class Controller03{
@RequestMapping("/method01.do") //配置访问路径
public ModelAndView method01(){
System.out.println(this.getClass()+":method01");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("/WEB-INF/controller.jsp");
return modelAndView;
}
@RequestMapping("/controller/method02.do") //配置访问路径
public ModelAndView method012(){
System.out.println(this.getClass()+":method02");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("/WEB-INF/controller.jsp");
return modelAndView;
}
}
配置(只需要配置让spring管理这个bean即可,无需指定路径,因为方法上面通过@RequestMapping指定)
<!-- 全注解扫描所有的包 -->
<context:component-scan base-package="cn.itsource.springmvc" />
上一篇: split切割字符串注意事项
下一篇: ==与equals方法的区别