springboot如何重定向外部网页

 更新时间:2022年11月16日 14:39:01   作者:梁晓山(ben)  
这篇文章主要介绍了springboot如何重定向外部网页,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot重定向外部网页

package com.liangxs.web;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller//注意这里不能用@RestController,RestController由@Controller+ResponseBody组成,返回的是数据中支持跳转视图
@RequestMapping("/upload")
public class TestController {
	@RequestMapping("/redirect")
	public String redirect(HttpServletResponse response) {
		 return "redirect:http://www.baidu.com";//spring redirect方式
	}

	@RequestMapping("/redirect1")
	public void redirect1(HttpServletResponse response) {
		try {
			response.sendRedirect("http://www.baidu.com");//HttpServletResponse方式
		} catch (IOException e) {

			e.printStackTrace();
		}
	}

}

springboot页面重定向问题

@GetMapping("/delemp/{id}")
public String deleteEmp(@PathVariable("id")Integer id){
    employeeDao.delete(id);
    return "redirect:/emps";
}

如上述代码所示,接受前端请求后通返回"redirect:/emps"即可实现重定向到localhost:8080/emps请求中,此时不能写成"redirect:emps"即最前端的斜杠不能省略,否则运行时报错

Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type ‘java.lang.String’ to required type ‘java.lang.Integer’;

nested exception is java.lang.NumberFormatException: For input string: “emps”]。

在没有@PathVariable的请求中可以写成"redirect:emps"重定向返回(目前不知道报错和可以省略斜杠的原因)

如下代码所示,但建议都写成"redirect:/emps"。

@PostMapping("/updateEmp")
public String updateEmp(Employee employee){
    employeeDao.save(employee);
    return "redirect:emps";
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java 利用反射机制,获取实体所有属性和方法,并对属性赋值

    java 利用反射机制,获取实体所有属性和方法,并对属性赋值

    这篇文章主要介绍了 java 利用反射机制,获取实体所有属性和方法,并对属性赋值的相关资料,需要的朋友可以参考下
    2017-01-01
  • Spring你不知道的一种解耦模式

    Spring你不知道的一种解耦模式

    本文介绍一种方法,服务定位模式Service Locator Pattern来解决,它帮助我们消除紧耦合实现及其依赖性,并提出将服务与其具体类解耦
    2023-01-01
  • Java中int和Integer的区别

    Java中int和Integer的区别

    这篇文章主要介绍的是 Java中int和Integer的区别,Java 是一种强数据类型的语言,因此所有的属性必须有一个数据类型,下面文章基于Java详细int和Integer有何区别,需要的朋友可以参考一下
    2021-11-11
  • Java(enum)枚举用法详解

    Java(enum)枚举用法详解

    本篇文章主要介绍了Java 枚举用法详解,枚举的好处:可以将常量组织起来,统一进行管理。有兴趣的可以一起来了解一下。
    2016-11-11
  • Java并发包线程池ThreadPoolExecutor的实现

    Java并发包线程池ThreadPoolExecutor的实现

    本文主要介绍了Java并发包线程池ThreadPoolExecutor的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • IDEA2022创建Maven Web项目教程(图文)

    IDEA2022创建Maven Web项目教程(图文)

    本文主要介绍了IDEA2022创建Maven Web项目教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 入门到精通Java SSO单点登录原理详解

    入门到精通Java SSO单点登录原理详解

    这篇文章主要介绍了入门到精通Java SSO单点登录原理详解,本文主要对SSO单点登录与CAS、OAuth2.0两种授权协议的关系和原理进行详细说明
    2022-09-09
  • Java手写图书管理基本功能附代码

    Java手写图书管理基本功能附代码

    随着网络技术的高速发展,计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行,本篇文章手把手带你用Java实现一个图书管理系统,大家可以在过程中查缺补漏,提升水平
    2022-04-04
  • 详解Mybatis注解写法(附10余个常用例子)

    详解Mybatis注解写法(附10余个常用例子)

    这篇文章主要介绍了详解Mybatis注解写法(附10余个常用例子),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java实现Timer的定时调度函数schedule的四种用法

    Java实现Timer的定时调度函数schedule的四种用法

    本文主要介绍了Java实现Timer的定时调度函数schedule的四种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论