精华内容
下载资源
问答
  • 404错误重定向在Spring与java配置
    2021-03-26 12:28:19

    在Spring框架中,有很多处理异常的方法(特别是404错误).这是一个

    documentation link.

    >首先,您仍然可以在web.xml中使用错误页面标签,并自定义错误页面.这是一个example.

    >其次,您可以为所有控制器使用一个@ExceptionHandler,如下所示:

    @ControllerAdvice

    public class ControllerAdvisor {

    @ExceptionHandler(NoHandlerFoundException.class)

    public String handle(Exception ex) {

    return "404";//this is view name

    }

    }

    为了使这个工作,在web.xml中为DispatcherServlet设置throwExceptionIfNoHandlerFound属性为true:

    throwExceptionIfNoHandlerFound

    true

    您还可以将一些对象传递给错误视图,请参阅javadoc.

    更多相关内容
  • " 经过查资料后发现,url里面还包括了jsessionid,只是不在地址栏显示而已,所以代码中重定向的代码 return "redirect:/" 跳转就404 jsessionid作用:通过在URL后面加上;jsessionid=xxx来传递session id,这样即使...

    起因:在做一个系统简单的sso单点登录,并没有sso服务,只是两个系统之间互通。当把缓存清空,第一次跳转到另外一个系统一直报错404,再次点击就正常。

    原因:看了报错信息,security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String ";"

    经过查资料后发现,url里面还包括了jsessionid,只是不在地址栏显示而已,所以代码中重定向的代码 return "redirect:/" 跳转就404

    jsessionid作用:通过在URL后面加上;jsessionid=xxx来传递session id,这样即使Cookie不可用时,也可以保证session的可用性

    当一个新的session被创建时,server并不确定客户端是否支持cookies,所以它生成了一个cookie,就是URL中jsessionid的值。当客户端在第二次带着cookie返回时,服务器就知道jsessionid不是必须的,所以就会删掉它。如果客户端没有带着cookie返回,服务器就会继续在url中添加jsessionid参数。

    这就解释了,为什么404,以及为什么第一次404,再次点击就正常

    解决方案

    1.放开安全限制,在springboot application中加入这个

     @Bean
        public HttpFirewall allowUrlSemicolonHttpFirewall() {
            StrictHttpFirewall firewall = new StrictHttpFirewall();
            firewall.setAllowSemicolon(true);
            return firewall;
        }

    问题解决,但是在url路径上,会把jsessionid也显示出来。感觉不是最优解

    2.HttpServletResponse

    使用 sendRedirect()方法重定向,跳转一切正常,路径也与预想的一样。

    展开全文
  • 在开发中,重定向404这种需求非常常见,使用React-router4.0可以使用Redirect进行重定向最常用的就是用户登录之后自动跳转主页。import React, { Component } from 'react';import axios from 'axios';import { ...

    在开发中,重定向和404这种需求非常常见,使用React-router4.0可以使用Redirect进行重定向

    最常用的就是用户登录之后自动跳转主页。

    import React, { Component } from 'react';

    import axios from 'axios';

    import { Redirect } from 'react-router-dom';

    class Login extends Component{

    constructor(){

    super();

    this.state = {value: '', logined: false};

    this.handleChange = this.handleChange.bind(this);

    this.toLogin = this.toLogin.bind(this);

    }

    handleChange(event) {

    this.setState({value: event.target.value})

    }

    toLogin(accesstoken) {

    axios.post('yoururl',{accesstoken})

    .then((res) => {

    this.setState({logined: true});

    })

    }

    render() {

    if(this.props.logined) {

    return (

    )

    }

    return (

    { this.toLogin(this.state.value) }}>登录

    )

    }

    }

    export default Login;

    以上这个示例仅仅是将登录的状态作为组件的state使用和维护的,在实际开发中,是否登录的状态应该是全局使用的,因此这时候可能你会需要考虑使用redux等这些数据状态管理库,方便我们做数据的管理。这里需要注意的使用传统的登录方式使用cookie存储无序且复杂的sessionID之类的来储存用户的信息,使用token的话,返回的可能是用户信息,此时可以考虑使用sessionStorage、localStorage来储存用户信息(包括头像、用户名等),此时书写reducer时需要指定初始状态从存储中获取,如:

    const LOGIN_SUCCESS = 'LOGIN_SUCCESS';

    const LOGIN_FAILED = 'LOGIN_FAILED';

    const LOGINOUT = 'LOGINOUT';

    const Login = function(state, action) {

    if(!state) {

    console.log('state');

    if(sessionStorage.getItem('usermsg')) {

    return {

    logined: true,

    usermsg: JSON.parse(sessionStorage.getItem('usermsg'))

    }

    }

    return {

    logined: false,

    usermsg: {}

    }

    }

    switch(action.type) {

    case LOGIN_SUCCESS:

    return {logined: true,usermsg: action.usermsg};

    case LOGIN_FAILED:

    return {logined: false,usermsg:{}};

    case LOGINOUT:

    return {logined: false, usermsg: {}};

    default:

    return state

    }

    };

    export default Login;

    指定404页面也非常简单,只需要在路由系统最后使用Route指定404页面的component即可

    当路由指定的所有路径没有匹配时,就会加载这个NoMatch组件,也就是404页面

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 主要介绍了java实现响应重定向发送post请求操作,结合实例形式分析了java请求响应、重定向及数据处理相关操作技巧,需要的朋友可以参考下
  • JAVA重定向

    千次阅读 2021-07-27 22:59:38
    Java中 Systeam.in 代表标准输入,默认情况下代表键盘; Systeam.out 代表标准输出,默认情况下代表显示器 System类提供三个重定向方法: public static void setIn(InputStream in) public static void...

    重定向

    • 在Java中
      1. Systeam.in 代表标准输入,默认情况下代表键盘;
      1. Systeam.out 代表标准输出,默认情况下代表显示器
    • System类提供三个重定向方法:
    1. public static void setIn(InputStream in)
    2. public static void setOut(PrintStream out)
    3. public static void setErr(PrintStream err)
      这些重定向方法,用于修改标准输入、标准输出、错误输出的目标设备。
     public static void main(String[] args) {
    //       testRedirectOutput();
            testRedirectInput();
    
        }
    
        public static void testRedirectOutput(){
            try (
                    PrintStream ps=new PrintStream(new FileOutputStream("D:/DXl/out.txt"));
    
                    ){
                System.setOut(ps);
                System.out.println("我爱");
                System.out.println("java");
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    
        public static void testRedirectInput(){
    
            try (
                    FileInputStream fis=new FileInputStream("D:/DXl/out.txt")
                    ){
                System.setIn(fis);
                Scanner scanner = new Scanner(System.in);
                while (scanner.hasNext()){
                    System.out.println(scanner.next());
                }
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 主要介绍了详解Java从后台重定向(redirect)到另一个项目的方法,非常具有实用价值,需要的朋友可以参考下
  • 301跳转和重定向是做项目的时候经常需要用到的,本文给大家分享的是在java中301跳转和重定向的方法,需要的小伙伴参考下吧。
  • String projectNameEncode = URLEncoder.encode(projectName, "UTF-8"); String url = host + "/pages/book?id=" + id + "&projectCode=" + projectCode + "&projectName=" + projectNameEncode;...
  • 主要介绍了Java中如何使用Response重定向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • <span xss=removed>import java.text.*; import java.util.*; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import com.bjpowernode.exam.model.*; ...
  • 当我们在写项目中运到404、500等错误时,页面上会显示如下错误信息: 那么问题来了,我们可不可以自己定制404错误页面呢 答案当然是Of Course的啦 步骤如下 (1)首先添加 WebMvcConfig 配置类 import org....
  • 我们知道,在web.xml中重定向404页面是很简单的事儿,只需要如下几行代码: 2 <error-code>404 3 <location>/WEB-INF/errors/404.jsp 4 但是在基于JavaConfig的项目中,是没有web.xml文件的,那么应该如何重定向40
  • 主要介绍了java 转发和重定向区别及实例代码的相关资料,需要的朋友可以参考下
  • 我终于在404错误页面上通过无限重定向解决了问题,如果您有以下条件,此解决方案将仅适用于您:正在使用wordpress正在您的网站上使用SSL(HTTPS)正在尝试在所有页面上强制使用SSL(HTTPS)编辑了htaccess或安装了强制...
  • JAVA重定向与转发>

    2021-10-26 18:38:08
    重定向与转发的区别? 重定向:客户端重新发送新的请求,无法用request携带数据.地址会发生改变 请求转发::地址栏不会发生改变,在服务端完成,效率高,可使用request携带数据 转发与重定向小结: 转发使用的是req....
  • JAVA重定向的几种方法

    千次阅读 2020-09-12 10:37:10
    } 关于传参问题 重定向传参为get方式,如果传参数较多,可以封装到map或modelMap中 @RequestMapping(params = "action=redirect") public String redirect(Map modelMap){ modelMap.put("userName", "呵呵");...
  • 描述你的问题最近在做一...这里如果使用重定向的话,数据不能返回到主页面,所有改成了转发。但是使用转发存在用户提交完数据后点浏览器刷新或点后退之后产生重复提交的问题,怎么解决这个问题?贴上相关代码@Reque...
  • JAVA重定向

    千次阅读 2021-02-12 12:38:21
    三、重定向与转发的区别:1.重定向是在客户端完成的,转发是在服务器完成的2.转发只访问一次服务器,重定向访问两次服务器,所以相比较而言,转发对于服服务器的压力更小;3.转发只能将请求转发给同一个web应用中的...
  • <!-- 前缀 --> <property name="prefix" value="/WEB-INF/"></property> <!-- 后缀 --> <property name="suffix" value=".html"></...这3种全部不行,重定向就报404 但是:return "index";就可以 这是为什么呢??
  • 重定向代码之前,将参数值用以下代码编码一下即可。 message = URLEncoder.encode(message, "UTF-8"); 代码如下: @WebServlet(urlPatterns = "/check") public class CheckServler extends HttpServlet{ @...
  • 请求重定向 ** 概念:大体得意思就是客户端发送给服务端一个请求,然后服务器告诉客户端这个地址废弃了(302),我给你别的地址你去访问别的吧 流程图如下 代码如下 response1 public class Response1 extends ...
  • java重定向到某个urlWe know that the window object is like the mother of all objects in JavaScript and contains loads of different methods and properties attached to it. We have also seen some of them ...
  • Java后台重定向

    2022-03-21 16:32:17
    方法重定向RedirectAttributes @RequestMapping(value="/save_manager") public String saveManager(@RequestBody Business business,RedirectAttributes redirectAttributes){ String msgContent = "保存企业-["+...
  • 本篇文章给大家总结了JAVA中实现永久重定向的方法以及详细代码,对此有需要的朋友可以参考学习下。
  • Java-重定向(redirect)

    2022-03-21 14:55:58
    Java代码里: response.sendRedirect("test.jsp"); 原理: 重定向是一个客户端行为,用户请求到达服务器之后,服务器返回响应,HTTP状态码置为302,并将转发的页面保存在响应头中的Location属性中,告诉客户端...
  • java 输入重定向

    2021-03-10 00:39:58
    java 中从文件输入数据的方法 即使 输入输出流。模板如下package 第三章; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; ...
  • 传参 FlashMap flashMap = new FlashMap(); flashMap.put("errMsg", "出错啦"); //需传的参数放入flashMap中即可 FlashMapManager flashMapManager = RequestContextUtils.getFlashMapManager(request);...
  • java spring 重定向

    2021-12-23 09:40:58
    java spring 重定向 @RestController @RequestMapping("/api/index/v2") public class IndexController { /** * 合上获取公众号openid */ @RequestMapping(value = "/redirect1") public void redirect1...
  • /** 用POST方式 重定向 @author royFly */ public class RedirectWithPost { Map parameter = new HashMap(); HttpServletResponse response; public RedirectWithPost(HttpServletResponse response) { this....
  • java实现请求重定向

    2021-09-24 14:38:53
    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 173,240
精华内容 69,296
关键字:

java重定向404

java 订阅