登录接口及跳转

本文记录了在开发登录接口时遇到的问题,作为子平台,通过接口实现与主平台的单点登录。接口设计允许主平台获取验证消息,并在验证成功后利用response.sendRedirect进行重定向至子平台主页。需要注意的是,该方法前禁止使用out.flush(),且重定向前的代码会执行完毕。由于某些限制,无法使用request.setAttribute传递参数,只能通过URL参数或session。同时,response.setHeader("Location","/main")未能成功触发跳转,原因待后续研究。" 133027930,10220647,YOLOv8与SwinTransformer融合:打造目标检测新标杆,"['计算机视觉', '深度学习', '目标检测', 'YOLO', 'Transformer']
部署运行你感兴趣的模型镜像

今天要写个登录的接口,提供给主平台进行单点登录(作为一个子平台,懒得写登录页了,想通过接口,返回给主平台单点登录后的message,顺便在用户名密码验证成功的时候,跳转一下我的子平台主页),中间遇到点问题,特此记录一下

主要参考了https://www.jb51.net/article/35550.htm 的response.sendRedirect的重定向,

 @RequestMapping("/login")
    @ResponseBody
    public void login(HttpServletRequest request,HttpServletResponse response) throws IOException {
        String result = "";
        String loginStr = "";
        String pwdStr = "";
        loginStr = request.getParameter("user");
        pwdStr = request.getParameter("pwd");
        if (loginStr != null && pwdStr != null) {// 如果用户名和密码不为空  
            UserDomain userDomains = userDao.selectUsers();
            if (null == userDomains) {
                result = "无此用户";
            } else {
                if (!pwdStr.equals(userDomains.getPwd) {
                    result = "密码错误";
                } else {
                    result = "登录成功";
                    response.sendRedirect("/main");
                    //response.setHeader("Location","/main");
                }
            }
        }else {//当未提交用户名或者密码,则设置错误返回对象
            result = "未提供用户名和密码进行身份验证";
        }
        response.setCharacterEncoding("utf-8");
        response.setContentType("application/json");
        PrintWriter out = response.getWriter();
        out.print(result);
//        out.flush();
    }

其中根据参考文档里的解释,response.sendRedirect(),此语句前不允许有out.flush(),如果有,会有异常;如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;(所以不能写out.flush())。

这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。

注:response.setHeader("Location","/main") 这句试了下,并不能跳转,不太清楚为啥,后面有时间了再研究一下。

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值