Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释(转)
一:配置web.xml
1)问题:spring项目中有多个配置文件mvc.xml dao.xml
2)解决:在web.xml中
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/xxx/*.xml</param-value>
xxx表示xml文件路径 *.xml表示后缀名为xml的任意文件
</init-param>
3)可以使用 逗号分隔
二:controller
1:spring mvc 中将 controller 认为是 MVC中的C --控制层
2:规范命名 类名 xxxController
3:如果不基于注解: 该类需要继承 CommandController 或者 其他很多 参见 spring帮助
如果基于注解:在类名前 加上 @controller
4:补充:将类名前加上该注解,当spring启动 或者web服务启动 spring会自动扫描所有包(当然,这个可以设置)
作用: 就是告诉服务器 这个类是MVC中的C 这个类可以接收用户请求 处理用户请求
三:问题:如何接收用户请求
1:假设用户请求URL 是: http://localhost:8080/项目名/xxx.do do不do都一样 不管这个do 你用什么都可以
2:这个时候,spring开始在所有的 C 中,找对应的处理请求的方法
3:在任意的可以C的类中,在你想要处理此请求的方法定义的前面
@RequestMapping("/xxx") 这个时候的xxx 就是用户请求的xxx 不管do
public String 方法名()
{
return “aaa”;
返回一个字符串,非常有用 要注意 用来决定要显示的MVC的 V 视图层 是哪个
}
四:上面 配置好了 MVC的 C 也就是 控制层 在方法中返回字符串 用来决定MVC的V 视图层
问题:如何让spring 去扫描类 建立关联
1:在配置文件中 (spring)的 假设是 mvc.xml 中
2:加入 <context:component-scan base-package="包路径"/>
五:问题 如何返回到视图层 V
1: 解决:此时,需要在配置文件中,加入视图解析器 有很多种 ,太多了
2:这里用基于jsp/jstl 视图
3:在web.xml 中加入bean 配置
<bean class="org.s...f....web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views"/> 前缀
<property name="suffix" value=".jsp"/> 后缀
</bean>
小结:通过上述5步 ,基本完成 C V 的配置
1:spring 中的C 一般起类名 XXXController 在这个类里面 需要加入@controller 标志这个类可以作为请求处理类 也就是 控制类
2:这个控制类里面可以有很多方法,哪个方法用来处理用户请求,就在那个方法前面 加 @RequestMapping(“/xxxxx请求路径”)
3;当请求处理完毕后 返回值 决定了 该处理完毕后 用户将跳转到那个页面 这个很重要
4:例如
@RequestMapping("/xxx") 这个时候的xxx 就是用户请求的xxx 不管do
public String 方法名()
{
return “aaa”;
返回一个字符串,非常有用 要注意 用来决定要显示的MVC的 V 视图层 是哪个
}
返回 aaa 根据配置文件中的 视图处理器配置 加入前缀 后缀
页面将跳转到 /WEB-INF/views/aaa.jsp
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释(转)的更多相关文章
- 【#】Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释 博客分类: spring MVCSpringWebXMLBean 一:配置 ...
- 关于Spring3 MVC的 HttpMediaTypeNotSupportedException
使用框架:Spring3 MVC + dojo1.8 前提:配置Spring MVC以JSON数据形式响应请求 使用场景:dojo向Spring MVC发送ajax请求 异常信息: org.sprin ...
- Spring3+SpingMVC+Hibernate4全注解环境配置
Spring3+SpingMVC+Hibernate4全注解环境配置 我没有使用maven,直接使用Eclipse创建动态Web项目,jar包复制在了lib下.这样做导致我马上概述的项目既依赖Ecli ...
- spring启动,spring mvc ,要不要xml配置,基于注解配置
老项目是09-11年搞的,用的是spring+struts2,没有用注解,全xml配置.web.xml中也配置了一大堆. 现在启动新项目,在项目中用spring+springmvc ,主要用注解,也用 ...
- 增加mvc:resources后访问不了注解配置的controller的问题
刚开始没有配置mvc:resourcescontroller能够正确访问,但是由于web.xml使用/拦截了所有的请求,所以静态资源访问不上增加mvc:resources之后,静态资源是能访问上了,但 ...
- Spring MVC 5 + Thymeleaf 基于Java配置和注解配置
Spring MVC 5 + Thymeleaf 注解配置 Spring的配置方式一般为两种:XML配置和注解配置 Spring从3.0开始以后,推荐使用注解配置,这两种配置的优缺点说的人很多,我就不 ...
- Spring MVC与注解相关的一些配置的方法
在spring mvc中,注解是需要通过配置文件去开启的,一般简单的项目可分为两个配置文件,这里姑且叫做spring-mvc.xml与spring-context.xml.其中spring-mvc.x ...
- Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...
- Spring mvc 增加静态资源配置后访问不了注解配置的controller
spring mvc 增加静态资源访问配置. 例如: <!-- 静态资源映射 --> <mvc:resources location="/static/" map ...
随机推荐
- DRF使用Serializer来进行序列化和反序列化操作
在serlizers中添加 # -*- coding: utf-8 -*- from rest_framework import serializers from .models import * c ...
- python核心高级学习总结4-------python实现进程通信
Queue的使用 Queue在数据结构中也接触过,在操作系统里面叫消息队列. 使用示例 # coding=utf-8 from multiprocessing import Queue q = Que ...
- 老猿学5G扫盲贴:3GPP中的5G计费架构
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.计费逻辑架构和信息流 在32240子系列文档内 ...
- PyQt(Python+Qt)学习随笔:QTableWidget的获取指定位置项的item和itemAt方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.获取指定行和列的项 根据行和列可以获取对应位置的项,调用语法如下: QTableWidgetIt ...
- 第11.14节 正则表达式转义符和Python转义符相同引发问题的解决办法
正则表达式使用反斜杠('\')来把特殊字符转义成普通字符(为了方便称为"正则表达式转义"),而反斜杠在普通的 Python 字符串里也是转义符(称为"字符串转义" ...
- Hbase 简单封装(Hbase 2.0+ API)
前言 封装了一些常用的方法 添加一行数据 创建表(单列族) 创建表(多列族) 删除表 判断表是否存在 获取一行数据(根据rowkey) 获取某个列族某个列的某行数据 打印出result(方便展示数据) ...
- Springcloud之gateway配置及swagger集成
前言 关于引入gateway的好处我网上找了下: 性能:API高可用,负载均衡,容错机制. 安全:权限身份认证.脱敏,流量清洗,后端签名(保证全链路可信调用),黑名单(非法调用的限制). 日志:日志记 ...
- OpenCV Error: Assertion failed (src.size == dst.size && src.channels() == dst.channels()) in cvConvertScale
发现问题:在做kinect采集的深度图去噪的时候遇到了cvConvertScale格式转换的问题. OpenCV Error: Assertion failed (src.size == dst.si ...
- Notepad++ 使用步骤,熟练掌握notepad++的使用技巧,无疑会大大提升专业技能。以及快捷键操作
官方下载地址: https://notepad-plus.en.softonic.com/ 1.安装 双击安装包出现以下界面 2.点击我接受 3.安装地址 继续下一步 4.默认即可,继续下一步 5.根 ...
- 开始学习Django,配置静态登录页面
开始学习Django,配置静态登录页面 准备阶段 众所周知,Django是一个重量级的设备齐全的web开发框架.在学习Django前我们需要具备如下的知识点: python基础编程 并发 网络编程 H ...