SpringMVC框架|Handler处理器的三种写法
文章目录
- 一、SpringMVC中的处理器
- 1.SpringMVC开发方式
- 2.Servlet原生开发方式
- 3.开发中常用的方式
一、SpringMVC中的处理器
配置完SpringMVC的处理器映射器,处理适配器,视图解析器后,需要手动写处理器。关于处理器的写法有三种,无论怎么写,执行流程都是①处理映射器通过@Controller注解找到处理器
,继而②通过@RequestMapping注解找到用户输入的url。
下面分别介绍这三种方式。
package com.gql.springmvc;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/*** 类说明:* 处理器的三种写法* @guoqianliang1998.*/
@Controller
public class UserController {//1.SpringMVC开发方式@RequestMapping("/hello")public ModelAndView hello(){ModelAndView mv = new ModelAndView();mv.addObject("msg","hello world!");mv.setViewName("index.jsp");return mv;}//2.原生Servlet开发方式@RequestMapping("xx")public void xx(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{request.setAttribute("msg", "周冬雨");request.getRequestDispatcher("/index.jsp").forward(request, response);}//3.开发中常用@RequestMapping("yy")public String yy(Model model){model.addAttribute("msg", "双笙");return "forward:/index.jsp";//forward写不写都是转发,redirect代表重定向.}
}
1.SpringMVC开发方式
@RequestMapping("/hello")public ModelAndView hello(){ModelAndView mv = new ModelAndView();mv.addObject("msg","hello world!");mv.setViewName("index.jsp");return mv;}
2.Servlet原生开发方式
@RequestMapping("xx")public void xx(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{request.setAttribute("msg", "周冬雨");request.getRequestDispatcher("/index.jsp").forward(request, response);}
3.开发中常用的方式
在return的字符串中,forward写不写都是代表转发,redirect则代表重定向。
@RequestMapping("yy")public String yy(Model model){model.addAttribute("msg", "双笙");return "forward:/index.jsp";}
SpringMVC框架|Handler处理器的三种写法相关推荐
- android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法
闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据 ...
- CSS伪类的三种写法
今天逛蓝色时,无意发现了有人讨论伪类的正确写法,让我对伪类的认识也更清晰了,转贴于此,以备日后查询(原贴当时没记下地址,已经记不得了) Code <style> a.tb{text-dec ...
- Promise的链式调用三种写法,Promise.all与式调用
Promise的链式调用三种写法: // 1,Promise原始链式调用 new Promise((resolve, reject) => {setTimeout(() => {conso ...
- vue2.0模板的三种写法
vue2.0中的模板有三种写法,根据不同的需求运用不同的方法来实现 1. <!DOCTYPE html> <html lang="en"> <head ...
- JavaScript的三种写法
1.2-JavaScript的三种写法 1-复习CSS代码的三种写法 1.外联样式:写在css文件中,使用link导入 <link rel="stylesheet" href ...
- JS面向对象的三种写法
欢迎来我的博客交流 /*面向对象的三种写法 *1.构造函数 *2.class类 * 2.直接操作对象 * */ /**/function myShow(name){this.name = name;t ...
- vue单文件props写法_详解Vue 单文件组件的三种写法
详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...
- java中synchronized的三种写法详解
预备知识 首先,我们得知道在java中存在三种变量: 实例变量 ==> 存在于堆中 静态变量 ==> 存在于方法区中 局部变量 ==> 存在于栈中 然后,我们得明白,合适会发生高并发 ...
- setInterval()的三种写法
setInterval的使用方法 setInterval("fun()",time)有两个参数: fun()为要执行的函数: time为多久执行一次函数,单位是毫秒: 我们做一个简 ...
最新文章
- Azure中继摆脱了WCF的桎梏,走向跨平台
- Remoting 与 Webservice 的区别
- Oracle存储过程和自定义函数
- 星光 SaaS 伙伴甄云科技:如何构建更适合快成长企业的数字化采购管理平台?
- 023、JVM实战总结:一步一图:那JVM老年代垃圾回收器CMS工作时,内部又干了些啥?
- Linux操作Oracle(2)——Oracle导出exp导出用户报错:EXP-00006: 出现内部不一致的错误 EXP-00000: 导出终止失败
- java socket php_Web架构(二)PHP Socket与Java ServerSocket交互
- autocad 二次开发 拆分图纸_2,手动创建CAD二次开发项目--AutoCAD二次开发(2020版)...
- xp系统禁用wmi服务器,windows xp系统启用WMI服务的方法
- 计算机的影视后期论文,浅谈影视后期制作-毕业论文提纲范文
- 【分层图最短路】P2939 [USACO09FEB]Revamping Trails G
- ZLMediaKit视频推流和播放步骤
- android user-agent iso-8859-1,微信大众,平台消息接口开辟(31)微信浏览器HTTP_USER_AGENT断定...
- http、https 等 常用默认端口号
- gets_s()函数
- 【Javaweb】基础开发流程与介绍
- 随笔-springBoot配置全局跨域
- 关于美食商城HTML网页设计-----在线美食订餐网站html模板源码30个页面(功能齐全) html+css+javascript网页设计实例 企业网站制作...
- python的算法有哪些_python算法有哪些
- 苹果cms微信对接php,苹果cmsV10微信公众号对接插件安装教程