一:配置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

最新文章

  1. Sublime Text 2报“Decode error - output not utf-8”错误的解决办法
  2. Oracle_双机备份
  3. 浏览器对象模型BOM
  4. HTTP 500.22 错误解决
  5. hdu 1563 Find your present!
  6. 360. Sort Transformed Array
  7. JS 实现显示和隐藏div(以百度地图为例)
  8. Sysbench - 一种系统性能benchmark
  9. 分割视图控制器(UISplitViewController) 改_masterColumnWidth 导致在 IOS 10中出现闪退
  10. css重置
  11. VC获取屏幕分辨率大小
  12. angularui 分页
  13. 【Bootstrap】 bootstrap-select2下拉菜单插件
  14. 《React Native 精解与实战》书籍连载「React Native 源码学习方法及其他资源」
  15. GNU C和C99标准中的可变参数宏(variadic macros)
  16. python3+2 不换行打印,多用于进度条 process bar
  17. Windows Server 2016-Active Directory复制概念(一)
  18. String 类型的值能够被反射改变从而引发的意外事件
  19. [iOS] WSHorizontalPickerView 图片水平滚动封装
  20. 4、Python文件对象及os、os.path和pickle模块(0530)

热门文章

  1. android studio报butterknife错误
  2. 手机APP测试(测试点、测试流程、功能测试)
  3. 利用flask框架实现对用户的注册登录
  4. LeetCode初级算法之数组:36 有效数独
  5. LeetCode初级算法之数组:136 只出现一次的元素
  6. js数组去重方法集合
  7. 【题解】「P6771」[USACO05MAR]Space Elevator 太空电梯
  8. Windows的API功能查询
  9. 在虚拟机中安装Linux系统CentOS7详细教程!!!超详细!!!!一看就会!!!手把手教学!!!
  10. MyBatisPlus-快速入门