目录

一、注解形式

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;}@Overridepublic 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" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>数据展示</title></head><body><h1 align="center">${class} </h1><table align="center" border="1"><thead><tr><td>用户id</td><td>用户名</td><td>地址</td></tr></thead><tbody><%--c:forEach --%><c:forEach items="${users}" var="user"><tr><td>${user.id}</td><td>${user.name}</td><td>${user.address}</td></tr></c:forEach></tbody></table></form></body></html>

一、注解形式

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

<?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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><!-- 注意在注解形式中一定要开启扫描注解,不然会找不到路径404错误 --><context:component-scan base-package="com.che.controller"></context:component-scan><!--配置处理器映射器--><!--spring 3.1版本之前--><!--<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>--><!--spring 3.1版本之后--><!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>--><!--配置处理器适配器--><!--spring 3.1版本之前--><!--<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>--><!--spring 3.1版本之后--><!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>--><!--springMVC中会架子啊框架默认的处理器映射器和处理器适配器--><mvc:annotation-driven/><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--指定了前后缀,在输入url时只需要输入类名即可--><property name="prefix" value="WEB-INF/jsp/" /><property name="suffix" value=".jsp"/></bean></beans>

注意:!!!

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

也可以直接通过<mvc:annotation-driven/>读取框架提供的默认的组件

2、Controller类

//记得要在类上加上注解
@Controller
public class UserController {@RequestMapping("/userlist")public ModelAndView userList() {ArrayList <User> 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

<?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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><!--配置处理器映射器--><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/><!--配置处理器适配器--><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/><!--视图解析器--><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean></beans>

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

2、User1Controller类

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

/*** 基于非注解形式的处理器要能被处理器适配器识别* 必须实现org.springframework.web.servlet.mvc.Controller接口* 该接口中的handleRequest需要实现*/
public class User1Controller implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {ArrayList<User> 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方法

三、文件目录展示

SpringMVC中注解和非注解形式配置相关推荐

  1. springMVC学习笔记(二)-----注解和非注解入门小程序

    阅读目录 一:基础环境准备 二:非注解的处理器和映射器 三:注解的处理器映射器和适配器 四:springmvc.xml中的内容以及项目工程目录 最近一直在做一个电商的项目,周末加班,忙的都没有时间更新 ...

  2. java spring入门小程序_springMVC学习笔记(二)-----注解和非注解入门小程序

    最近一直在做一个电商的项目,周末加班,忙的都没有时间更新博客了.终于在上周五上线了,可以轻松几天了.闲话不扯淡了,继续谈谈springMvc的学习. 现在,用到SpringMvc的大部分使用全注解配置 ...

  3. SpringMVC学习记录二——非注解和注解的处理器映射器和适配器

    3      非注解的处理器映射器和适配器 3.1      非注解的处理器映射器 处理器映射器: org.springframework.web.servlet.handler.BeanNameUr ...

  4. SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)

    Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappin ...

  5. SpringMVC学习(一)——快速搭建SpringMVC开发环境(非注解方式)

    目录 1.开发环境准备 1.1.首先电脑需要安装JDK环境(略) 1.2.准备一个以供开发的tomcat 1.3.准备Maven工具 1.4.准备IDE编译器 1.5.准备一个本地的数据库, 2.搭建 ...

  6. springmvc中的视图解析器详细配置

    视图解析器 springmvc中View Resolver负责将处理结果生成View视图,处理器执行完业务逻辑后将带有逻辑视图的ModelAndView返回给前端控制器,前端控制器再将ModelAnd ...

  7. 161018、springMVC中普通类获取注解service方法

    1.新建一个类SpringBeanFactoryUtils 实现 ApplicationContextAware package com.loiot.baqi.utils;import org.spr ...

  8. springmvc登陆示例(非注解)

    说好的一周一篇呢,说好的要努力呢!又失言了,以后再也不说大话了! 今天通过示例对springmvc流程就行了解,在这里做个记录. springmvc的实现流程,总共4步,下面就分布进行记录: 环境: ...

  9. java 获取自定义参数类型_Springboot中使用自定义参数注解获取 token 中用户数据...

    使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类 ...

最新文章

  1. 测一测你的blog魔症有多严重
  2. android时间utc,Android获取UTC时间的方式
  3. 手动修改网卡接口模式从网桥变为路由
  4. python课程怎么样-python课程体系是怎么样的?
  5. 拖拽批量上传图片如何保证 顺序_图片压缩神器和图片分割工具,美工设计和运营终于得救了...
  6. iis7.5 php 404.17,部署IISHTTP 404.17无法由静态文件处理程序来处理
  7. 算法训练 表达式计算
  8. 湖北省首条短途运输航线“荆门—武汉”航线运营
  9. BNU 斩(超级大水题)
  10. [渝粤教育] 四川大学 新生研讨课 参考 资料
  11. 程序开发者的10大开源网站
  12. 鸿蒙太空是什么意思,“我所居兮,青埂之峰;我所游兮,鸿蒙太空。谁与我逝兮,吾谁与从?渺渺茫茫兮,归彼大荒”的意思...
  13. 三国杀网页版普通服务器怎么进,就想知道老服怎么进_三国杀Online_玩家社区_三国杀官方社区 - Powered by Discuz!...
  14. 关于 国产麒麟系统Qt强制退出应用程序qApp->exit()无效 的解决方法
  15. 1.个人建站的准备:购买云服务器和域名
  16. 将i am a student转换成 student a am i
  17. Solidworks如何生成爆炸图
  18. 智能照明控制系统助力某商业综合体实现“双碳”
  19. 关于数学计算机手抄报简单的,简单漂亮的数学手抄报图片大全
  20. HTML/CSS IE6、7兼容性问题、bug总汇

热门文章

  1. 全新的Uber App设计
  2. 【Linux学习笔记】20:Bash基础-历史命令
  3. 图解 深入浅出JavaWeb:事务必会必知
  4. 导出数据库表信息生成Word文档(数据字典)
  5. 利用MEGA-X选择模型及构建美化进化树
  6. 车机软件测试ADBShell命令集合
  7. js身份证号码,电话号码验证
  8. 设计模式——七大原则(附代码示例)
  9. WoShop跨境电商国际支付Paypal支付商城全开源无加密商城源码
  10. 兼容QQ浏览器,UC浏览器滚动到底部