网站开发哪便宜,北京环评在那个网站上做,wordpress 分类目录 不显示,开发公司保障员工安全的措施文章目录 什么是SpringMVC#xff1f;使用SpringMVCSpringMVC创建和连接创建连接RequestMapping的基础使用 获取参数返回数据返回静态页面返回非页面的普通数据#xff08;text/html#xff09;返回JSON对象请求转发或者请求重定向 什么是SpringMVC#xff1f;
SpringMVC它… 文章目录 什么是SpringMVC使用SpringMVCSpringMVC创建和连接创建连接RequestMapping的基础使用 获取参数返回数据返回静态页面返回非页面的普通数据text/html返回JSON对象请求转发或者请求重定向 什么是SpringMVC
SpringMVC它的正式名称是“Spring Web MVC”是一个基于Servlet API构建的原始Web框架。MVC是Model View Controller 的缩写它是软件工程中的一种软件架构模型把软件系统分为模型、视图和控制器三部分。MVC是一种思想而SpringMVC是对MVC思想的具体实现。
我们要学习SpringMVC是因为绝大多数Java项目都是基于SpringSpringBoot的而Spring的核心就是SpringMVC。我们学习SpringMVC主要学习下面介绍的三个方面
连接的功能将⽤户浏览器和 Java 程序连接起来也就是访问⼀个地址能够调⽤到我们的Spring 程序。获取参数的功能⽤户访问的时候会带⼀些参数在程序中要想办法获取到参数。输出数据的功能执⾏了业务逻辑之后要把程序执⾏的结果返回给⽤户。
使用SpringMVC
SpringMVC创建和连接
创建 连接
Controller //让spring框架启动时就加载类
ResponseBody //返回非页面数据
RequestMapping(/user)
// 可以把Controller和ResponseBody两个注解合并为一个RestController注解
public class UserController {RequestMapping(/sayHi)public String sayHi() {return hi,spring mvc;}} 注 我们要创建一个类来做路由映射借此建立起浏览器页面与后端程序的连接RequestMapping是被用来做接口的路由映射的当用户访问某一个url时会将用户的请求对应到程序中的某个类的某个方法上。 RequestMapping的基础使用 //接收GET请求的三种方法//方法一RequestMapping(/sayHi)//方法二RequestMapping(value /sayHi,method RequestMethod.GET)//方法三GetMapping(/sayHi)//接收POST请求的三种方法//方法一RequestMapping(/sayHi)//方法二RequestMapping(value /sayHi,method RequestMethod.POST)//方法三PostMapping(sayHi)注 RequestMapping即可以修饰类也可以修饰方法。当修饰类和方法的时候访问的地址是类方法当 url 路径唯一时可以只修饰方法访问的地址是方法。RequestMapping即可以用来接收 Get请求 也可以用来接收 Post请求。接收 Get请求 和接收 Post请求分别有三种方法上面的代码示例已经给出。 获取参数
我们对十一种传来的参数的类型进行处理传递单参数、传递对象、传递多个参数、参数重命名、传递JSON对象、直接从 url 中传递参数、上传文件、得到Cookie、得到header、设置session、读取session。
由于篇幅太长单独总结为一篇博客大家点击此链接查看详细介绍代码演示SpringMVC获取参数的十一种方法
返回数据 在返回前端静态页面时不需要加上ResponseBody注解在返回前端普通数据时要加上ResponseBody注解。 ResponseBody返回的值如果是字符将转化成 text/html如果是对象将转化成 application/json。 ResponseBody即可以修饰类也可以修饰方法修饰类表示类中的所有方法都会返回 html 或者 json
返回静态页面
//返回前端一个静态的页面 需要多添加一个依赖 然后设置配置文件
Controller
RequestMapping(/toFront)
public class FrontController {RequestMapping(/front)public Object toFront(){return front.html;}
}返回非页面的普通数据text/html
//返回非页面的普通数据
Controller
ResponseBody
RequestMapping(/p)
public class ResponseController {RequestMapping(/index)public String index(){return index.html;}
}返回JSON对象
RestController
RequestMapping(/retJson)
public class JsonController {RequestMapping(/respJson)public HashMapString,String retJson(){//注 HashMap的key不能相同 相同时下一次插入的值会替换掉上一次的值 使HashMap中只有一个值HashMapString,String hashMap new HashMap();hashMap.put(say1,hello);hashMap.put(say2,hi);hashMap.put(say3,spring muc);return hashMap;}
}请求转发或者请求重定向
Controller
RequestMapping(/toSend)
//RestController 返回页面不是数据
// redirect和forward的三点区别
public class ResendController {RequestMapping(/redirect)//请求重定向public String redirect(){return redirect:/front.html;}RequestMapping(/forward)//请求转发public String forward(){return forward:/front.html;}
}请求转发和请求重定向的区别 请求重定向将请求重新定位到资源不需要经过服务器请求转发需要经过服务器进行转发。请求重定向地址发生变化请求转发地址不发生变化。请求重定向和直接访问新地址效果一致不存在原来的外部资源不能访问的问题请求转发需要经过服务器转发有可能造成原外部资源不能访问的问题。