SpringMVC中注解和非注解形式配置

SpringMVC中注解和非注解形式配置,第1张

SpringMVC中注解和非注解形式配置

目录

一、注解形式

1、各组件的配置文件 springmvc1.xml

2、Controller类

二、非注解形式实现

1、各组件的配置文件 springmvc2.xml

2、User1Controller类

三、文件目录展示


以实现业务逻辑(展现用户列表)来说明这两种方法

先给定User类

public class User {
    private Integer id;
    private String  name;
    private String address;
    
    public User(Integer id, String name, String address) {
        this.id = id;
        this.name = name;
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", address='" + address + ''' +
                '}';
    }
}

展现用户类userlist.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
        <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
        

        
             
                数据展示
            
            
                ${class} 
                
                     
                        
                            用户id
                            用户名
                            地址
                        
                    
                    
                        <%--c:forEach --%>
                        
                            
                                ${user.id}
                                ${user.name}
                                ${user.address}
                            
                        
        
        
        

        
        
一、注解形式 1、各组件的配置文件 springmvc1.xml


    
    

    
    
    
    
    

    
    
    
    
    

    
    
    
    
    
        
        
        
    

注意:!!!

对于处理器映射器和处理器适配器等组件可以显性的声明类全路径,需要主要使用的spring版本,在spring3.1前后使用的类是 不同的

也可以直接通过读取框架提供的默认的组件

2、Controller类
//记得要在类上加上注解
@Controller
public class UserController {

    @RequestMapping("/userlist")
    public ModelAndView userList() {
        ArrayList  users = new ArrayList <>();
        users.add(new User(1,"张三","西安"));
        users.add(new User(2,"小红","西安"));
        users.add(new User(3,"小李","北京"));
        users.add(new User(4,"小张","陕西"));

        ModelAndView modelAndView = new ModelAndView();
        //数据填充
        modelAndView.addObject("users",users);
        //指定路径 全路径
        modelAndView.setViewName("userlist");

        return modelAndView;

    }
  @RequestMapping("/usertest")
    @ResponseBody //以JSON数据返回
    public String test() {
        return "Hello";
    }

}

运行结果

 注解使用:

@Controller注解 将类交给容器管理

@RequestMapping 给定URL,通过URL找到具体处理业务逻辑

二、非注解形式实现 1、各组件的配置文件 springmvc2.xml




    
    

    
    

    
    
    
        
        
    

处理器适配器类是SimpleControllerHandlerAdapter,通过源码可知,要能够被处理器适配器识别的类必须是Controller接口的具体实现类

2、User1Controller类

必须实现Controller类,重写handleRequest方法,才能被处理器适配器识别

public class User1Controller implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ArrayList users = new ArrayList <>();
        users.add(new User(1,"张三","西安"));
        users.add(new User(2,"小红","西安"));
        users.add(new User(3,"小李","北京"));
        users.add(new User(4,"小张","陕西"));

        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("users",users);
        modelAndView.setViewName("userlist");
        //System.out.println("测试请求");

        return modelAndView;
    }
}

运行结果

 总结:

通常一般情况下使用注解形式

使用注解形式需要注意 配置注解 和注解扫描是否开启

使用非注解形式就需要在controller类上实现Controller类,重写handleRequest方法

三、文件目录展示

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5583770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存