spring的第四天
来源:互联网 发布:个人交易怎么走淘宝 编辑:程序博客网 时间:2024/05/22 15:25
全弄好之后,要看一下系统整出来的代码了。这应该是最基本的DEMO,非常具有帮助性。
package com.springapp.mvc;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping("/")public class HelloController {@RequestMapping(method = RequestMethod.GET)public String printWelcome(ModelMap model) {model.addAttribute("message", "Hello world!");return "hello";}}
这里的return "hello"是加载静态的html页面,即MVC中的V层文件。如下图中的hello.jsp
<html><body><h1>${message}</h1></body></html>
代码非常简单!只是为了入门嘛。
<h1>${message}</h1>接受的就是C层中的model.addAttribute("message", "Hello world!");
如果我要接受传出来的get参数呢?
继续改造代码。
package com.springapp.mvc;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;@Controller@RequestMapping("/")public class HelloController {@RequestMapping(method = RequestMethod.GET)public String printWelcome(ModelMap model,@RequestParam(value = "string",required = false)String password) {model.addAttribute("message", password);return "hello";}}
@RequestParam(value = "string",required = false)String password
这句话的意思就是我传入一个get变量为string的参数,分配到java里面就是变量password,字符型的。
required = false可加可不加。加的好处就是如果用户不传这个string过来。页面不会报错,而不加就会报错。
这个报的错是系统给的,我们控制不了。
GET解决了。现在我要POST呢?
现在做一下改造
hello.jsp变成
<%@ page contentType="text/html; charset=utf-8"%><html><body><h1>${message}</h1><form action="/web/getHello" method="post">UserName<input type="text" name="username"><br>PassWord<input type="password" name="password"><br><input type="submit" value="提交"></form></body></html>
这样页面就变成了我要post两个参数:username和password给/web/getHello的页面。
注意,如果你在访问页面的时候发现中文是乱码。那估计就是漏了下面这句话。
<%@ page contentType="text/html; charset=utf-8"%>
然后在HelloController的同级目录下新建一个GetHelloController
@Controller@RequestMapping("/getHello")public class GetHelloController {@RequestMapping(method = RequestMethod.POST)public @ResponseBody void printWelcome(HttpServletResponse response,@RequestParam(value = "username",required = false)String username,@RequestParam(value = "password",required = false)String password) {response.setContentType("text/html; charset=gbk");PrintWriter out = null;try {out = response.getWriter();} catch (IOException e) {e.printStackTrace();}out.println(username);}}
这个代码简单,一目了然。实现了我接受post参数的需求,out.println是打印出来看。
那如果我即要get又要post呢?我两个都要接受,没问题,我再接着改造。
@RequestMapping(method ={RequestMethod.POST,RequestMethod.GET})public @ResponseBody void printWelcome(HttpServletResponse response,@RequestParam(value = "username",required = false)String username,@RequestParam(value = "password",required = false)String password,@RequestParam(value = "type",required = false)String type) {
其它代码略过,主要就是这几句。
然后我再访问页面。
大功告成!
0 0
- spring的第四天
- 实习第四天:spring注释的用法
- Spring 第四章 面向切面的Spring
- Spring框架的第四天(ssh整合)
- spring第四天整合md
- 第四章 Spring的完美DAO
- 第四章 Spring与JDBC的整合
- 《spring实战第四版》的读书笔记
- 《spring实战第四版》的读书笔记
- 第四章 面向切面的Spring
- Spring学习第四天:配置bean-2
- spring cloud微服务框架 第四天
- spring cloud微服务框架 第四天
- Spring实战读书笔记 第四章 面向切面的Spring
- 《Spring实战》学习笔记-第四章:面向切面的Spring
- 《Spring实战》学习笔记-第四章:面向切面的Spring
- 《Spring实战》学习笔记-第四章:面向切面的Spring
- 第四天AOP注解的方式以及spring的JDBC模板
- 前端路由实现
- 7.全局变量和全局对象
- PHP Yii PHPExcel导出 excel文件
- 反编译APK
- ImageLoaderConfig的一些设置
- spring的第四天
- elasticsearch建立索引操作的API
- Unity判断在物体内部和相交
- 如何配置GitHub
- ping 一般故障
- 转载:那些必须知道的ADB命令
- Android中attr自定义属性详解
- 为系统AudioManager添加新的接口方法
- 101------Spring + Hibernate进行开发Session不关闭的解决方法