使用JavaScript与servlet实行简单的客户端和服务器验证

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
    <script type="text/javascript">

        function validate(){
            //var username = document.getElementById("username1");
            //var password = document.getElementById("password1");
            //var repassword = document.getElementById("repassword1");

            var username = document.getElementsByName("username")[0];
            var password = document.getElementsByName("password")[0];
            var repassword = document.getElementsByName("repassword")[0];

            if(username.value.length == 0){

                alert("username can't be blank!");
                return false;
            }

            if(password.value.length < 6 || password.value.length > 10){

                alert("length of password is invalid!");
                return false;
            }
            if(repassword.value.length < 6 || repassword.value.length > 10){

                alert("length of repassword is invalid!");
                return false;
            }

            if(password.value != repassword.value){

                alert("password not the same!");
                return false;
            }


            return true;
        }

    </script>

  </head>

  <body>

    <form  action="validateServlet">
        username:<input type="text" name="username" id="username1"><br>
        password:<input type="password" name="password" id="password1"><br>
        re-password:<input type="password" name="repassword" id="repassword1"><br>

        <input type="submit" value="submit">
    </form>

 </body>
</html>

以上为myLogin.jsp,用Javascript对客户端简单验证。
表单实现为username,password,repassword.
验证要求:
1>uername不为空
2>password和repassword位数介于6到10之间
3>password==repassword
大致思想:script脚本部分获取表单中的数据,从而对其进行验证。验证不通过则调用alert()跳出警告框。

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.omg.PortableInterceptor.SUCCESSFUL;

public class validateServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String repassword = request.getParameter("repassword");

        List<String> list = new ArrayList<String>();
        if(null == username || "".equals(username)){

            list.add("username can't be blank!");
        }
        if(password == null || password.length()<6 || password.length()>10){
            list.add("length of password should be between 6 and 10");
        }
        if(repassword == null || repassword.length()<6 || repassword.length()>10){
            list.add("length of repassword should be between 6 and 10");
        }
        if(password != null && !password.equals(repassword)){
            list.add("password and repassword not the same!");
        }

        if(list.isEmpty()){
            request.setAttribute("username", username);
            request.setAttribute("password", password);
            request.getRequestDispatcher("success.jsp").forward(request, response);

        }else{
            request.setAttribute("error",list);
            request.getRequestDispatcher("error.jsp").forward(request, response);
        }

    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(req,resp);
    }


}

以上为服务器端的简单验证。代码创建了一个List记录,如果记录为空则跳转到success.jsp,否则跳转到error.jsp.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值