cookielogin

这篇博客介绍了如何在JavaWeb中实现自动登录功能。通过获取请求参数并存储登录信息到cookie中,当遍历cookie找到相应信息时,显示欢迎消息;否则,重定向到登录页面。内容涉及cookie和JSP的相关知识。
摘要由CSDN通过智能技术生成

javaweb自动登录

1.需求描述

  用户不需要login(登录)即可进入访问

2.思路分析

  1. 若可以获得请求参数,则打印信息,并且把登录信息存储到cookie中
  2. 遍历所有的cookie,判断是否有自己想要的cookie,若有则打印欢迎信息,否则重定向到登录页面
  3. 若既没有自己想要的cookie也没有请求参数,那么重定向到登录页面

3.代码如下


<%

    String userName = request.getParameter("userName");


    if (userName != null && !userName.trim().equals("")) {

        Cookie cookie = new Cookie("userName", userName);
        cookie.setMaxAge(3000);
        response.addCookie(cookie);

    } else {
          
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie cookie : cookies) {
                String cookieName = cookie.getName();
                if ("userName".equals(cookieName)) {
                    userName 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于这段代码,我们可以进行以下优化: 1. 处理异常情况。在 Promise 的 reject 中,我们应该将 error 处理并抛出异常,以便上层能够捕获和处理异常。 2. 使用 async/await。async/await 是异步编程的一种新方式,它可以让我们更加直观地处理异步代码。我们可以将 Promise 的 then 和 catch 等回调函数改成 async/await 的形式。 3. 增加参数校验。我们应该对传入的参数进行校验,确保传入的参数是符合要求的。 4. 将函数拆分成多个函数。该函数的功能比较复杂,我们可以将其拆分成多个函数,每个函数只完成一个小功能,提高代码可读性和可维护性。 下面是代码优化后的示例: ```javascript import { login } from '@/api/login' import { setToken } from '@/utils/auth' function validateUserInfo(userInfo) { if (!userInfo || !userInfo.username || !userInfo.password) { throw new Error('Invalid user info') } } async function doLogin(userInfo) { const { username, password } = userInfo const response = await login({ username: username.trim(), password: password }) return response.data.token } async function setTokenAndResolve(commit, token) { commit('SET_TOKEN', token) setToken(token) return Promise.resolve() } export function cookielogin({ commit }, userInfo) { try { validateUserInfo(userInfo) const token = await doLogin(userInfo) await setTokenAndResolve(commit, token) } catch (error) { return Promise.reject(error) } } ``` 这样,我们就完成了对该函数的优化,提高了代码的可读性和可维护性,也加强了代码的健壮性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值