首先我们的界面在返回的时候回根据我们的配置信息进行路径的查找  然后会识别我们的控制器返回的字符串(其实就是界面的名字)而找到界面的信息,eg:如果我们返回的是success那么就会去找我们的WEB-INF下的对应的success.jsp或者success.html界面

控制层:

/**
* 请求参数绑定
*/
@Controller
@RequestMapping(value = "/param")
public class paramController { @RequestMapping("/testParams")
public String testParam(){
System.out.println("执行了.....");
return "success";
}
}

然后请求返回的就是我们的success界面

注解:

要在类上加@Controller 注解是等于把类交给ioc容器进行管理  并且让我们的配置可以通过这个@Controller注解识别到这个类

java的注解长得类似于python的装饰器但是作用是不同的,因为java的注解只是为了声明这个方法或者类具有这个功能,功能是提前定义好的或者自带的,但是要手动加上,而python的装饰器的作用是自己定义那些不改变函数的方法的形式而增加的功能

请求注解:RequestMapping

建立请求url和处理方法之间的对应关系

当我们的请求进来的时候要进行url的定义就是通过RequestMapping,并且RequestMapping 可以多级分发,java的url是一级一级的去找  而不是直接定义完整的url

像上面的完整的url就是/params/testParams

RequestMapping 的参数:

    path  接受定义的url

    value  和path的作用相同,都是接受url两者用哪个都可以

    

1. path   指定请求路径的url
2. value 和path属性一样
3. mthod 指定该方法的请求方式
4. params 指定限制请求参数的条件
5. headers 发送的请求中必须包含的请求头

path/value属性

如果RequestMapping中只有这一个属性可以省略不写

    @RequestMapping("/testParams")  //可以省略path/value不写
public String testParam(){
System.out.println("执行了.....");
return "success";
}

method属性

声明请求方式

@RequestMapping(value = "/param",method = RequestMethod.GET)

上面是声明请求方式只能为GET方法 其余方法不可以使用

如果想要定义多个请求方式可以如下:

metgod = {请求方式}

@RequestMapping(value = "/param",method = {RequestMethod.GET,RequestMethod.POST})

上面就是定义/params这个url使用的时候可以是GET也可以是POST

params:请求参数

如果定义了params那么请求的时候必须携带这个参数

@Controller
@RequestMapping(value = "/param",method = {RequestMethod.GET,RequestMethod.POST}, params={"username"})

上面是规定请求的时候必须携带params中的username的参数 否则就不允许

默认参数:

 @RequestMapping(path = "/hell",method={RequestMethod.GET, RequestMethod.POST},params={"username=hehe"})   // params可以规定死的参数

规定请求参数必须是hehe否则就报错

headers:

规定请求头,

 @RequestMapping(path = "/hell",method={RequestMethod.GET, RequestMethod.POST},params={"username=hehe"},headers = {"Accept"}) 

规定我们的请求必须要携带这个请求头

spring mvc 程序的更多相关文章

  1. Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

    上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...

  2. 第一个Spring MVC程序

    最近公司项目要开始使用Spring MVC替代Struts2了,就学习了一下Spring MVC的使用.这是第一个Spring mvc程序,分别使用xml和注解两种方式. 一.使用xml格式进行构建 ...

  3. Spring MVC程序

    Spring MVC程序(IDEA开发环境)   回顾Java平台上Web开发历程来看,从Servlet出现开始,到JSP繁盛一时,然后是Servlet+JSP时代,最后演化为现在Web开发框架盛行的 ...

  4. Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  5. 编写简单的spring mvc程序,在tomcat上部署

    编写简单的spring mvc程序,在tomcat上部署 1 用java 配置spring mvc ,可以省去web.xmlpackage hello;import org.springframewo ...

  6. Spring MVC程序中得到静态资源文件css,js,图片

    转载自:http://www.blogjava.net/fiele/archive/2014/08/24/417283.html 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题, ...

  7. Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题

    问题描述 在用springmvc开发应用程序的时候.对于像我一样的初学者,而且还是自学的人,有一个很头疼的问题.那就是数据都已经查出来了,但是页面的样式仍然十分简陋,加载不了css.js,图片等资源文 ...

  8. Spring学习之第一个Spring MVC程序(IDEA开发环境)

    回顾Java平台上Web开发历程来看,从Servlet出现开始,到JSP繁盛一时,然后是Servlet+JSP时代,最后演化为现在Web开发框架盛行的时代.一般接触到一个新的Web框架,都会想问这个框 ...

  9. 编写第一个spring MVC程序

    一.下载和安装spring框架 进入http://repo.springsource.org/libs-release-local/org/springframework/spring/4.2.0.R ...

随机推荐

  1. JVM调优(二)——基于JVisualVM的可视化监控

    JVM调优(二)--基于JVisualVM的可视化监控 工具路径://java/jdk1.8xxx/bin/JVisuaVM.exe 监控本地的Tomcat 监控远程Tomcat 监控普通的JAVA进 ...

  2. zabbix真的很简单 (安装篇)

    系统环境: Centos 6.4 一直觉得 zabbix 很简单,但是还是有好多人看了好多文档都搞不明白怎么用,我从2013年使用到现在也小有心得,如果时间允许,很高兴与大家一起分享我在使用过程中的一 ...

  3. H5rem

    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1, ...

  4. [360前端星计划]BlackJack(21点)(纯JS,附总部学习笔记)

    [360前端星计划]总部学习笔记(6/6) [360前端星计划]详情跳转 游戏界面预览 目录 一.游戏介绍 1.起源 2.规则 3.技巧 二.游戏设计 1.整体UI构思 2.素材采集 3.游戏总规划 ...

  5. pssh系列命令详解

    安装 pssh提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用.pssh是python写的可 ...

  6. Java并发AtomicReference类

    java.util.concurrent.atomic.AtomicReference类提供了可以原子读取和写入的底层对象引用的操作,还包含高级原子操作. AtomicReference支持对底层对象 ...

  7. scrapy错误-[scrapy.core.scraper] ERROR: Spider error processing

    一.问题,就是我的callback没得回调函数 二:然后我查看源代码,发现: 三.我把解析页数的函数名设置为,def parse(self,response):  就没保错了 能运行成功 总结:在sp ...

  8. 【Mock.js】前端模拟假数据,不用在手拼了

    [Mock.js]前端模拟假数据,不用在手拼了:https://www.jianshu.com/p/8579b703a4c1

  9. 【知识强化】第六章 应用层 6.3 文件传输协议FTP

    这节课我们来学习一下文件传输协议FTP. 我们知道一个文件的传输过程呢一定需要协议的规定,那在文件传送协议这一块呢有很多个协议.比较主要的两个一个是文件传送协议FTP,一个是简单文件传送协议TFTP. ...

  10. Codeforces 1197E Culture Code DP

    题意:你有n个俄罗斯套娃,已知每个套娃的容积和体积,问有多少个子集满足以下条件: 1:这个子集是一个极大子集,即不能再添加其它的套娃到这个子集里. 2:子集的套娃之间的间隙和最小. 思路1:线段树优化 ...