利用Servlet和jsp实现客户端与服务器端的用户登录信息验证(一)

2014-11-24 07:23:28 · 作者: · 浏览: 2

首先编写登录页面mylogin.jsp
编写表单:
[java]



username:

password:

repassword:







第一种验证的方式:利用java script在客户端实现验证
[java]
<script type="text/java script">

function valdate(){
//var username = document.getElementById("username");
//var password = document.getElementById("password");
//var repassword = document.getElementById("repassword");

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 not be blank");
return false;
}

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

alert("length of password is invalid");
return false;

}
if(password.value != repassword.value> 11){

alert("password is not the same with repassword");
return false;

}
return true;

}



如上面的代码所示,在表单中调用java script的函数实现客户端验证。
第二种验证的方式:用Servlet实现验证
编写ValidateServlet.java类
[java]
package com.lcq.servlet;

import java.io.IOException;
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;

@SuppressWarnings("serial")
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 list = new ArrayList();
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 && repassword != 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("sucess.jsp").forward(request, response);
}else{
request.setAttribute("error",list);
request.getRequestDispatcher("error.jsp").forward(request, response);;
}


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

}

}
在Servlet中处理完成后转到sucess.jsp或者error.jsp
以下是sucess.jsp
[java]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>



<html>



My JSP 'sucess.jsp' starting page













username :<%=request.getAttribute("username") %>

password :<%=request.getAttribute("password") %>


以下是error.jsp
[java]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>






My JSP 'error.jsp' starting page












login failed:


<%
List list = (List)request.getAttr