首先我们的界面在返回的时候回根据我们的配置信息进行路径的查找  然后会识别我们的控制器返回的字符串(其实就是界面的名字)而找到界面的信息,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. AGC037C Numbers on a Circle

    题目大意 给你一个序列a和序列b 每次操作是a[i]+=a[i-1]+a[i+1] 问a经过最少几次操作可以得到b 分析 用堆维护a 每次取出最大的 撤销操作直到不能撤销 将新数放入堆 不断维护即可 ...

  2. ceph安装问题

    ceph-deploy安装 Yum priorities pluginLoaded plugins: fastestmirror Loaded plugins: fastestmirror, prio ...

  3. CENTER OS7关闭防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,之前版本是使用iptables. 所以在CentOS 7执行下面命令是无法查看防火墙状态的. [root@localhost ~]# ser ...

  4. Linux操作系统(二)_快速入门

    环境 安装VM ware,输入VM key 在VM上安装CentOS 6.5 设置网络,能在本机上ping通 通过终端连接工具:Xshell或SecureCRT,连接Linux服务器 实操可能出现的问 ...

  5. mybatis的一些小细节

    Mybatis要解决的问题: 1. 将sql语句硬编码到java代码中,如果修改sql语句,需要修改java代码,重新编译.系统可维护性不高. 设想如何解决? 能否将sql单独配置在配置文件中. 2. ...

  6. bash 中的特殊变量

    bash 中的特殊变量 变量 说明 ------------------------------------ $0 当前脚本的文件名 $n 第n个位置参数 $* 传递给脚本或函数的所有参数,$*会将这 ...

  7. Ptyhon变量,常量,注释

    变量的命名规则: 1.变量由字母,数字,下划线搭配而成 2.变量不能以数字开头 3.变量也不能是Python的关键字. 4.变量不要有中文 5.名字要有意义 6.名字不要太长 变量的两种命名方式: 1 ...

  8. SpringBoot-技术专区-配置文件加密

    工程中的配置文件如果把数据库的用户名密码写成明文的话是一件很危险的事情,之前也看见网上说可以对密码进行加密,用的时候再解密,因此今天我就尝试如何在spring boot 中的项目中实现关键信息的加密解 ...

  9. 2018-8-10-上传代码-CodePlex

    title author date CreateTime categories 上传代码 CodePlex lindexi 2018-08-10 19:16:51 +0800 2018-2-13 17 ...

  10. MYSQL全文索引—CONTAINS语法

    我们通常在 WHERE 子句中使用 CONTAINS ,就象这样:SELECT * FROM table_name WHERE CONTAINS(fullText_column,'search con ...