欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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" />