首页 > 其他分享 >2023/01/23

2023/01/23

时间:2024-02-03 19:37:41浏览次数:25  
标签:01 return 23 request getElementById 2023 msg import document

设计找回密码页面,为了达到页面的复用,这里设计了两层,一层用来查询账号是否存在,另一层用于修改密码。

<%--
  Created by IntelliJ IDEA.
  User: 龚涵彬
  Date: 2024/2/3
  Time: 16:43
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>找回密码</title>
</head>
<body>
<h1>找回密码</h1>
<div style="text-align: center">
    <form action="find-servlet" id="firststep" method="post">
        <label for="nameid">请输入你要找回密码的账号:</label><input type="text" name="nameid" id="nameid"><br>
        <span id="msg" style="font-size: 12px;color:red">${msg}</span><br>
        <input type="button" id="btm" value="确定">
    </form>
    <script>
        document.getElementById("btm").addEventListener("click",function () {
            var a=document.getElementById("nameid").value;
            if (a.length===0||a.trim()==="")
            {
                document.getElementById('msg').innerHTML="您的输入不能为空";
                return;
            }
            var b=confirm("确认账号无误?")
            if(!b)
            {
                document.getElementById('msg').innerHTML="您已取消";
                return;
            }
            document.getElementById("firststep").submit();
        })
    </script>
</div>
</body>
</html>

新增一条数据库查询操作方法

    public boolean findCode(Base_InformationBean baseInformationBean) //查找账号
    {
        DBUtil db=new DBUtil();
        Connection conn=db.getConnection();
        String sql="select * from hhh where code=?";
        try {
            PreparedStatement pstm=conn.prepareStatement(sql);
            pstm.setString(1,baseInformationBean.getCode());
            ResultSet rs=pstm.executeQuery();
            if(rs.next())
            {
                return true;
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return false;
    }

然后是在servlet里的操作和重定向

package com.example.demo;

import bean.Base_InformationBean;
import bean.InfoDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet(value = "/find-servlet")
public class FindcodeServlet extends HttpServlet {
    private String code;
    private Base_InformationBean hhh;
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        code=request.getParameter("nameid");
        hhh=new Base_InformationBean();
        hhh.setCode(code);
        boolean flag=new InfoDAO().findCode(hhh);
        if(!flag)
        {
            request.setAttribute("msg","该账号不存在,请注册");
            try {
            request.getRequestDispatcher("findback_pwd.jsp").forward(request,response);
            }
            catch (ServletException e) {
            throw new RuntimeException(e);
            }
        }else
        {
            request.setAttribute("code",code);
            try {
                request.getRequestDispatcher("change_pwd.jsp").forward(request,response);
            } catch (ServletException e) {
                throw new RuntimeException(e);
            }
        }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");
        doGet(request,response);
    }
}

然后就是修改密码界面

<%--
  Created by IntelliJ IDEA.
  User: 龚涵彬
  Date: 2024/2/3
  Time: 16:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>新密码</title>
</head>
<body>
<div style="text-align: center">
<form action="" method="post" id="change_pwd">
    账号:<input type="text" value="${code}" name="nameid" readonly><br>
    <label for="pwd1">请输入新密码:</label><input type="password" name="pwd" id="pwd1"><br>
    <label for="pwd1">再次确认密码:</label><input type="password" name="p" id="pwd2"><br>
    <span id="msg" style="font-size: 12px;color:red">${msg}</span><br><br>
    <button type="button" id="btm">确认</button>
</form>
    <script>
        document.getElementById("btm").addEventListener("click",function () {
            var pwd1=document.getElementById("pwd1").value;
            var pwd2=document.getElementById("pwd2").value;
            if(!is(pwd1))
            {
                document.getElementById('msg').innerHTML="您的新密码不能为空";
                return;
            }
            if(!is(pwd2))
            {
                document.getElementById('msg').innerHTML="您再次确认密码不能为空";
                return;
            }
            if(pwd1!==pwd2)
            {
                document.getElementById('msg').innerHTML="您的两次密码输入不一致";
                return;
            }
        })
        function is(s)
        {
            if (s.length===0||s.trim()==="")
                return false;
            else return true;
        }
    </script>
</div>
</body>
</html>

 

标签:01,return,23,request,getElementById,2023,msg,import,document
From: https://www.cnblogs.com/zhenaifen/p/17983725

相关文章

  • 2024/01/22
    设计注册页面,并对输入的值进行一个简单的初步判断。<%--CreatedbyIntelliJIDEA.User:龚涵彬Date:2024/2/2Time:19:52TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pagecontentType="text/html;charset=UTF-8"language="ja......
  • 2024/01/17
    编写一个简单的登录界面<html><head><title>JSP-HelloWorld</title></head><bodybackground="imagine/鸡哥头.jpg"style="background-repeat:no-repeat;background-attachment:fixed;background-size:100%100%">......
  • 0129-0203部分校赛题解复盘
    vj第一场A题https://codeforces.com/gym/103480/problem/A该题让我们可以从回文串的特点入手,即两个相同的字母便可增加长度2,所以并不用思考该回文串要如何排序出来,而是看有多少对相同的字母,使用map<char,int>来记录字母出现的次数,再计算可以除以2的次数即可。点击查看代码#i......
  • uni-app小程序开发 基础 #2月摸鱼计划01
    前言:最近看uni-app框架的时候发现了这套课程,看到网络上大都是收费的资料,所以打算把这份资源开源共享出来,如果觉得有帮助的话,务必支持一下,关注......
  • Go语言 猜谜游戏+在线词典 2月摸鱼计划01
    3.1猜谜游戏3.1.2生成随机数v2packagemainimport( "fmt" "math/rand" "time")funcmain(){ maxNum:=100 rand.Seed(time.Now().UnixNano()) secretNumber:=rand.Intn(maxNum) fmt.Println("Thesecretnumberis",secre......
  • [THUSCH2017] 巧克力
    [THUSCH2017]巧克力题目描述「人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道。」明明收到了一大块巧克力,里面有若干小块,排成\(n\)行\(m\)列。每一小块都有自己特别的图案,它们有的是海星,有的是贝壳,有的是海螺……其中还有一些因为挤压,已经分辨不出是什么图案了。......
  • [IOI2023] 最长路程
    题目描述IOI2023组委会有大麻烦了!他们忘记计划即将到来的Ópusztaszer之旅了。然而,或许一切尚未为晚......在Ópusztaszer有\(N\)个地标,编号为从\(0\)到\(N-1\)。某些地标之间连有双向的道路。任意一对地标之间至多连有一条道路。组委会不知道哪些地标之间有道路相......
  • [NOIP2011 提高组] 聪明的质监员
    原题链接首先要读懂题目啊:[Wj>=W]其实是一种bool表达,即大于等于时取1,小于时取0,然后再进行求和。根据要求出最小值大概可以猜测要运用二分,那么我们来判断单调性,首先W在所有矿石的最大最小值之间取值,W越小Y越大,W越大Y越小(观察和推理都很容易得到),那么Y是符合单调性的,即可以运用......
  • [NOI2015] 品酒大会
    独立过了一道NOI的题,开心~我的做法是后缀数组+单调栈+st表,并没有用到并查集点击查看代码#include<bits/stdc++.h>usingnamespacestd;strings;intsa[300005],rk[20][300005],r[300005],n,w,h[300005],p[25],z[300005],st0[20][300005],st1[20][300005],f[600005];lo......
  • 【路由器】电信光猫中兴 F7010C 折腾记录
    目录问题描述解锁超管密码前言配置安卓抓包环境抓包获取超管密码IPv6配置光猫拨号改用SLAAC路由器配置wan6配置wan配置lan配置验证参考资料问题描述近期家里更新了千兆宽带,电信光猫换成了中兴F7010C,默认光猫拨号,安装人员不给改桥接,而且路由器还获取不到IPv6地址尝试过......