我是靠谱客的博主 踏实微笑,最近开发中收集的这篇文章主要介绍SpringMVC处理器和适配器的配置基于xml配置方式来配置处理器和适配器基于注解形式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 基于xml配置方式来配置处理器和适配器
  • 基于注解形式

基于xml配置方式来配置处理器和适配器

配置处理器适配器,springMVC提供了org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter类实现,通过源码查看,该适配器支持的Handler必须是Controller接口的实现类,即需要实现COntroller接口,SimpleControllerHandlerAdapter适配器才能支持执行

处理器配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!--基于配置形式来配置处理器映射器、处理器适配器和视图解析器-->
<!--处理器映射器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!--配置Handler实例,将实例交给容器管理-->
<bean name="/userlist1" class="com.tulun.controller.UserController1"/>
<!--处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--视图解析器-->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--jsp页面前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--jsp后缀-->
<property name="suffix" value=".jsp"/>
</bean>
</beans>

开发handler

/**
* 基于非注解实现Handler
* 必须实现Controller接口
*/
public class UserController1 implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
//返回用户列表
ArrayList<User> users = new ArrayList <>();
User va= new User(1, "vae");
User java = new User(2, "java");
User user = new User(3, "2021");
users.add(va);
users.add(java);
users.add(user);
//返回ModelAndView对象
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("users", users);
modelAndView.setViewName("userlist");
return modelAndView;
}
}

这种形式的配置,一个Controller实现类只能针对特定的一个URL处理,即一个Handler只能一个类来处理,多个Hanler(即不同的URL)是需要不同的Controller实现类来处理,且实现类都需要交给容器管理。

基于注解形式

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!--&lt;!&ndash;配置处理器映射器、处理器适配器&ndash;&gt;这是一种自动配置的方式,一般选择这种方式会比较简便-->
<!--<mvc:annotation-driven/>-->
<!--处理器映射器在spring3.1之前使用-->
<!--org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping。-->
<!--处理器映射器在spring3.1之后使用
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping。-->
<!--处理器适配器在spring3.1之前使用-->
<!--org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter。-->
<!--处理器适配器在spring3.1之后使用
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter。-->
<!--处理器映射器-->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>-->
<!--处理器适配器-->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>-->
<!--SPringMVC需要扫描注解-->
<context:component-scan base-package="com.tulun.controller"/>
<!--配置处理器映射器、处理器适配器-->
<mvc:annotation-driven/>
<!--视图解析器-->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--jsp页面前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--jsp后缀-->
<property name="suffix" value=".jsp"/>
</bean>
</beans>

开发handler

@Controller
public class UserController {
@RequestMapping("/test")
public @ResponseBody String test(){
return "hello world";
}
/**
* 执行器
* @return
*/
@RequestMapping("/userlist")
public ModelAndView userList(){
//返回用户列表
ArrayList <User> users = new ArrayList <>();
User va= new User(1, "vae");
User java = new User(2, "java");
User user = new User(3, "2021");
users.add(va);
users.add(java);
users.add(user);
//封装ModelAndView对象
ModelAndView modelAndView = new ModelAndView();
//封装数据
modelAndView.addObject("users",users);
//封装逻辑视图名 /WEB-INF/jsp/userlist.jsp
modelAndView.setViewName("userlist");
return modelAndView;
}
@RequestMapping("/test1")
public ModelAndView test1(){
//返回用户列表
ArrayList <User> users = new ArrayList <>();
User va= new User(1, "vae");
User java = new User(2, "java");
User user = new User(3, "2021");
users.add(va);
users.add(java);
users.add(user);
//封装ModelAndView对象
ModelAndView modelAndView = new ModelAndView();
//封装数据
modelAndView.addObject("users",users);
//封装逻辑视图名 /WEB-INF/jsp/userlist.jsp
modelAndView.setViewName("/WEB-INF/jsp/test.jsp");
return modelAndView;
}
}

个人感觉一般在开发中都会使用第二种方式吧????。

最后

以上就是踏实微笑为你收集整理的SpringMVC处理器和适配器的配置基于xml配置方式来配置处理器和适配器基于注解形式的全部内容,希望文章能够帮你解决SpringMVC处理器和适配器的配置基于xml配置方式来配置处理器和适配器基于注解形式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部