文档章节

springMVC--(讲解2)结果跳转方式

求是科技
 求是科技
发布于 2016/10/07 16:14
字数 534
阅读 262
收藏 1

码上生花,ECharts 作品展示赛正式启动!>>>

#方式1:通过ModelAndView实现
设置ModelAndView对象,根据viewName和视图解析器跳转到指定的页面。
页面路径:视图解析器前缀+viewName+视图解析器后缀
ModelAndView设置如下

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public ModelAndView hello(HttpServletRequest req,HttpServletResponse resp){
		ModelAndView mav = new ModelAndView();
		//封装要显示的视图中的数据
		mav.addObject("msg","hello springmvc");
		//视图名,该视图是/WEB-INF/jsp/hello.jsp
		mav.setViewName("hello");
		return mav;
	}

视图解析器如下

	<bean id="viewResolver"  class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

#方式2:通过ServletAPI实现,这个不需要配置视图解析器
通过HttpServletResponse来进行输出

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException{
		resp.getWriter().println("hello mvc");
	}

#方式3:通过HttpServletResponse来实现重定向

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException{
		//HttpServletResponse输出
		//resp.getWriter().println("hello mvc");
		//HttpServletResponse重定向  
		resp.sendRedirect("index.jsp");
	}

#方式4:通过HttpServletRequest转发

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//HttpServletResponse输出
		//resp.getWriter().println("hello mvc");
		//HttpServletResponse重定向  
		//resp.sendRedirect("index.jsp");
		//HttpServletRequest转发
		req.setAttribute("msg", "显示内容");
		req.getRequestDispatcher("index.jsp").forward(req, resp);
	}

#方式5:通过springmvc实现重定向与转发(没有视图解析器)
重定向与转发的区别
地址栏里的地址没有改变的话,是转发;改变了则是重定向。

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public String hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//转发方式1
		//return "index.jsp";
		//转发方式2
		return "forward:index.jsp";
	}

重定向

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public String hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//转发方式1
		//return "index.jsp";
		//转发方式2
		//return "forward:index.jsp";
		//重定向(地址栏会改变)
		return "redirect:index.jsp";
	}

#方式6:通过springmvc实现重定向与转发(有视图解析器)

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public String hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//转发方式1(有视图解析器)
		//return "hello";
		//重定向(注意:重定向是不需要使用视图解析器的)
		return "redirect:index.jsp";
	}

© 著作权归作者所有

求是科技

求是科技

粉丝 104
博文 460
码字总数 240021
作品 0
成都
后端工程师
私信 提问
加载中
请先登录后再评论。
spring boot框架学习9-spring boot的web开发(5)-错误解决及跳转页面

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定...

中凯_凯哥java
2017/11/12
110
0
spring boot框架学习8-【干货】spring boot的web开发(4)-自定义拦截器处理权限

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定...

中凯_凯哥java
2017/11/11
197
0
使用vue集成spring security进行安全登陆

在前后端分离的状态下,传统的spring security认证模式也需要做一点改造,以适应ajax的前端访问模式 现在前后端分离的开发模式已经成为主流,好处不多说了,说说碰到的问题和坑。首先要解决的...

暴走的初号机
2019/05/17
0
0
mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类

相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的时候也会...

osc_imfpapvz
2018/01/09
5
0
spring MVC 使用 modelAndView.setViewName("forward:*.action") 发送重定向

1、Servlet重定向forward与redirect: 使用servlet重定向有两种方式,一种是forward,另一种就是redirect。forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,...

osc_wff1160a
2018/07/23
3
0

没有更多内容

加载失败,请刷新页面

加载更多

UltraEdit for Mac 20.00.0.32 文本编辑器

MacOS上最受欢迎的文本编辑器是哪款?UltraEdit Mac版支HTML、PHP、Perl、Java 和 JavaScript 等众多流行计算机高级语言的程序编辑器,Ultraedit与Notepad ++相比。你可以直接用它来修改exe...

麦克W
9分钟前
6
0
java垃圾回收机制的理解

Java垃圾回收机制算法 标记----清除算法 复制算法 标记----整理算法 分代收集算法 为什么要进行垃圾回收 因为当一个对象的引用不可达,或者一个对象没有任何引用指向它,那么它就没有必要在内...

RandomObject
22分钟前
5
0
Java集合常见面试题

Java集合框架 集合框架底层数据结构总结 Arraylist 与 LinkedList 异同 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全; 底层数据结构: Arraylist 底层使...

JaneRoad
25分钟前
18
0
Makefile中.PHONY的作用是什么? - What is the purpose of .PHONY in a makefile?

问题: What does .PHONY mean in a Makefile? .PHONY在Makefile中是什么意思? I have gone through this , but it is too complicated. 我已经经历过了 ,但是它太复杂了。 Can somebody e......

法国红酒甜
30分钟前
15
0
看了同事的代码,我忍不住写了这份代码指南

❝ 作者:xybaby 链接:https://www.cnblogs.com/xybaby/p/11335829.html ❞ 前言 写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、...

osc_fvp5wdwk
54分钟前
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部