直接上代码,调试firefox,F12,如装了firebug先禁用:
package com.up360.wechat.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.http.HttpServletRequest;
/**
* 功能或描述:
*
* @Author: DR.YangLong
* @Date: 14-7-16
* @Time: 下午01:18
* @Email: 410357434@163.com
* @Version: 1.0
* @Module: 修正: 日期:
*/
@Controller
@RequestMapping(value = "/redirect")
public class RedirectController {
//不带参数
@RequestMapping("/test1")
public ModelAndView redirect1(){
ModelAndView mv=new ModelAndView("redirect:/redirect/result.action");
//使用/开头将使用重定向,不用将变为forward
return mv;
}
//RedirectView构造参数(地址,不使用相对路径,兼容http1.0,暴露请求参数)对应默认值(url,false,true,true)。
//public RedirectView(String url, boolean contextRelative, boolean http10Compatible, boolean exposeModelAttributes)
@RequestMapping("/test2")
public RedirectView redirect2(){
RedirectView redirectView=new RedirectView("/redirect/result.action");
return redirectView;
}
/**
* 乱码设置Tomcat server.xml的Connector添加 useBodyEncodingForURI="true"
* 参数将会拼接到链接后面
* @return
*/
@RequestMapping("/test3")
public ModelAndView redirect3(){
ModelAndView modelAndView=new ModelAndView("redirect:/redirect/result0.action");
modelAndView.addObject("msg","ModelAndView第一种方式带参!");
return modelAndView;
}
@RequestMapping("/test4")
public ModelAndView redirct4(RedirectAttributes redirectAttributes){
//这个会将数据返回客户端,客户端再携带过来,参数会拼接到链接后面
/*redirectAttributes.addAttribute("msg","ModelAndView第二种方式带参");*/
//数据放到session中,下一个控制器接收到后从session清除,参数不会拼接到链接后面,非跨域建议此方式
redirectAttributes.addFlashAttribute("msg", "ModelAndView第二种方式带参");
ModelAndView modelAndView=new ModelAndView("redirect:/redirect/result.action");
return modelAndView;
}
@RequestMapping("/result0")
public @ResponseBody String result(String msg,HttpServletRequest request){
//如果是对象,可直接用对象绑定,不用使用ModelMap
return "返回结果1直接绑定数据模型:"+msg;
}
@RequestMapping("/result")
public @ResponseBody String result(ModelMap map,HttpServletRequest request){
//如果是对象,可直接用对象绑定,不用使用ModelMap
String msg=(String)map.get("msg");
return "返回结果2直接绑定数据模型:"+msg;
}
}
分享到:
相关推荐
在本文档中,我们将探讨如何进行Spring Security的简易配置,以确保你的应用在Spring框架下得到有效的安全保护。 首先,你需要在项目中集成Spring Security。这通常涉及到以下几个步骤: 1. **引入依赖**:从...
例如,使用Struts2的 interceptors进行输入验证,Spring Security来控制权限和认证。 总的来说,这个基于Struts2和Spring的银行系统展示了如何利用这两个框架的优势来构建一个完整的Web应用。通过整合,开发者可以...
标题 "spring3+hibernate3+struts2实现简易后台菜单控制" 涉及的是一个基于Java Web的经典技术栈构建的后台管理系统。这个系统利用Spring 3作为整体框架,提供依赖注入和AOP(面向切面编程)功能;Hibernate 3作为...
JavaWeb SSM框架简易登录是Java开发中一种常见的应用场景,主要涉及Spring、Spring MVC和MyBatis这三大组件。SSM框架是Java企业级开发中非常流行的选择,它提供了强大的功能,可以有效地处理复杂的业务逻辑和数据...
SSH简易选课系统是Java编程学习的一个优秀实践案例,它整合了Spring、Struts和Hibernate三大框架,提供了完整的用户交互和后台管理功能。通过这个项目,开发者可以深入理解MVC架构、控制反转和持久化等概念,并掌握...
【简易版本仓库管理系统】是一个基于B/S架构的项目,由我亲自编写,采用了经典的SSM框架,即Struts2、Spring和MyBatis。这个系统旨在实现基础的仓库管理功能,尽管在出库和入库的流程上可能还有待完善,但它的核心...
"基于SSH的简易项目"通常指的是使用Struts、Spring和Hibernate这三大框架构建的一个Web应用程序,它们组合起来构成了所谓的SSH框架。 **Struts** 是一个MVC(Model-View-Controller)框架,负责处理HTTP请求,管理...
"Controller"是模型和视图之间的桥梁,处理用户的请求,并调用相应的模型方法来更新数据,然后更新或重定向到相应的视图。 数据库方面,Java BBS可能使用了关系型数据库,如MySQL或PostgreSQL,通过JDBC(Java ...
在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它是基于Java平台的。...随着技能的提升,可以逐步引入更复杂的概念和技术,如框架(Spring MVC)、数据库连接池、安全性增强等。
在本项目中,"shortnr" 是一个基于 Spring Boot 和 Redis 实现的简易 URL 缩短服务。这个服务的主要功能是将长网址转化为较短的、易于分享的字符串,同时保持能够正确重定向到原始的长网址。让我们深入探讨一下其中...
`DispatcherServlet`在Spring MVC框架中作为前端控制器,但在这个简易项目中,可能只有一个Servlet处理所有请求。 9. **RESTful设计原则**:尽管是初学者项目,理解RESTful架构风格对URL和HTTP方法的映射也是重要的...
9. **响应与重定向**:成功操作后,服务器会返回一个响应,可能使用`response.sendRedirect()`方法将用户重定向到其他页面。 10. **MVC设计模式**:虽然这是一个简单的示例,但理解Model-View-Controller模式的概念...
2. **权限控制**:Shiro的拦截器会检查用户是否有访问特定URL的权限,如果没有,则重定向到登录页面或无权限页面。 3. **前后端分离**:Vue.js作为前端,通过Ajax请求与SpringBoot后端进行数据交互,实现CRUD操作,...
在Spring Boot项目中,你可以使用Spring Security或者Spring Social来实现OAuth2.0的集成。这些库可以帮助你处理授权请求、获取令牌以及通过令牌获取用户信息。 4. **请求授权**:在用户需要登录时,你的应用会跳转...
【Servlet+JavaBean简易新闻...通过学习和实践这个“servlet+javaBean简易新闻系统”,开发者可以深入理解Web应用的基本架构,掌握Java Web开发的核心技术,并为进一步学习更高级的框架(如Spring MVC)打下坚实基础。
同时,它也可以作为进一步研究其他高级话题,如Spring框架、MVC模式、安全性策略等的起点。 通过这个【简易的投票系统jsp+access】,开发者可以学习到Web应用的基本开发流程,从用户界面设计到服务器端逻辑实现,再...
这个简易文档,"Struts2.0开发指南",将引领我们深入理解Struts2的核心概念和实践方法。 Struts2是MVC(模型-视图-控制器)设计模式的一个实现,它为开发者提供了丰富的特性,包括动作类、拦截器、结果类型、插件...
- **令牌交换**:应用使用授权码向第三方平台请求访问令牌(Access Token)和刷新令牌(Refresh Token)。 - **访问资源**:应用使用访问令牌访问用户在第三方平台上的数据。 - **刷新令牌**:当访问令牌过期时,...
### JSP开发教程简易教程:全面解析与学习指南 #### JSP基础知识概览 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于创建动态网页。它结合了HTML、XML以及Java代码,允许开发者在网页中嵌入...
nohup java -jar /opt/halo/halo.jar --spring.profiles.active=prod &> /dev/null & ``` 修改文件权限使其可执行:`chmod +x run.sh` 在终端执行启动脚本:`./run.sh`。这将后台运行Halo博客服务,同时将输出...