SpringMVC入门 注解的和非注解的处理器映射器和处理器适配器
mvc流程
springmvc的工作原理图
组件
配置springmvc
基础:导入必须的包
配置文件
1.配置前端控制器 web.xml文件中
当spring配置文件不在web-inf 目录下在src下时,需要手动指定spring配置文件的路径
2.配置处理器映射器
3.配置处理器适配器
4.配置自己编写的处理器
自己编写的处理器
5.配置视图解析器
不同的处理器映射器
其实不需要配置这些器也可以 springmvc已经帮助配置好了
简单化:
基于注解的处理器映射器和适配器
配置处理器映射器和适配器版
简单版 不需要配置处理器映射器和适配器版
实现不同接口的测试类
A:实现了Controller接口的测试类
//因为@Controller注解完成了实现Controller接口的操作,所以只保留方法就可以了
@Controller
@RequestMapping("/item1")
public class ItemController1{
@RequestMapping("/queryItems.action")
public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
ModelAndView modelAndView = new ModelAndView();
List<Item> items = new ArrayList<>();
items.add(new Item(1, "qq", 15F, "QQ.JPG", new Date(), "RR"));
items.add(new Item(2, "RR", 16F, "RR.JPG", new Date(), "TT"));
items.add(new Item(3, "TT", 17F, "TT.JPG", new Date(), "YY"));
modelAndView.addObject("items", items);
modelAndView.setViewName("/WEB-INF/jsp/success.jsp");
return modelAndView;
}
}
实现了HttpRequestHandler接口的测试类
@org.springframework.stereotype.Controller
@RequestMapping("/items2")
public class ItemController2 implements HttpRequestHandler {
@RequestMapping(value={"/queryItems_url.action","/queryItems.action","/queryItems.action"})
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Item> items = new ArrayList<>();
items.add(new Item(1, "qq", 15F, "QQ.JPG", new Date(), "RR"));
items.add(new Item(2, "RR", 16F, "RR.JPG", new Date(), "TT"));
items.add(new Item(3, "TT", 17F, "TT.JPG", new Date(), "YY"));
request.setAttribute("items", items);
request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);
}
}
......jsp页面就不放了
至此就完成了springmvc的小入门