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 ...
随机推荐
- day1(ModelViewSet序列化限流排序)
1.DRF初始化 1.认证 2.权限 3.限流 4.序列化 5.分页 6.版本 7.过滤 8.排序 1.1安装DjangoRestFramework pip install djangoresfra ...
- moviepy音视频剪辑:与time时间线相关的变换函数freeze_region、make_loopable、speedx、time_mirror、time_symmetrize介绍
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>介绍了剪辑基类的fl.fl_time.fx方法,在<movi ...
- 从输入 URL 到页面展示,这中间发生了什么?
当面试官问到,请你说说看"从输入 URL 到页面展示,这中间发生了什么?" 以前的我是这样回答的: 用户输入URL后,向服务器端发起请求.如果顺利,得到网络响应之后,浏览器对资源进 ...
- this作为构造函数时注意点
在 JS 中,为了实现类,我们需要定义一些构造函数,在调用一个构造函数的时候加上 new 这个关键字: function Person(name) { this.name = name; consol ...
- ORCHARD WOODEN GATE
狗: 代码小盒子 爆零秘籍 备忘录 任务计划 核心算法: 搜索/枚举/贪心 dp 分治 数据结构: 并查集 ST表 堆 线段树 树状数组 分块 树套树 平衡树 LCT 莫队 字符串: 哈希 Trie ...
- KM 算法
KM 算法 可能需要先去学学匈牙利算法等二分图相关知识. 模板题-洛谷P6577 [模板]二分图最大权完美匹配 给 \(n\) 和 \(m\) 与边 \(u_i,v_i,w_i(1\le i\le m ...
- 微信开发中,不同手机系统遇到的bug(不定时更新)
Ios系统 1.body上绑定click事件失效. 解决:body标签下面,用个div,当做包裹所有内容的大容器.给这个div,绑定click事件. 2.不支持 YYYY-MM-DD 的时间格式. 用 ...
- python魔术方法总结
获取属性 __ getattr __(self, name) 定义当用户试图获取一个不存在的属性时的行为 __ getattribute __(self, name) 定义当该类的属性被访问时的行为 ...
- Jmeter(1)下载和安装
一.Jmeter工具安装 1.jmeter安装包下载地址:http://jmeter.apache.org/,下载Binaries包,使用jmeter需要先安装jdk 2.解压后打开/bin目录下的j ...
- django 验证码
1.django 缓存设置 django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6 1.1 安装Djang ...