
下面写一个注册页面
register.jsp,主要用JS进行验证
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
function validate(){
//通过id来取值
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];*/
/*或通过getElementsByTagName来取值,同样,它返回的也是一个数组
var inputs = document.getElementsByTagName("input");
for(var i =0;i<inputs.length;i++){
alert(inputs[i].value);
}*/
//用户名不能为空
if(username.value == ""){
alert("username can't be null!");
return false;
}
//密码长度不能少于6
if(password.value.length < 6 || repassword.value.length < 6 ){
alert("password'length can't less than 6");
return false;
}
//密码不相同
if(password.value != repassword.value){
alert("password not same!");
return false;
}
}
</script>
</head>
<body>
<!-- <form action="ValidateServlet" onsubmit="return validate()"> -->
<form action="ValidateServlet">
username:<input type="text" name="username" id="username1"><br>
password:<input type="password" name="password" id="password1"><br>
repassword:<input type="password" name="repassword" id="repassword1"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
ValidateServlet.java 在后台进行验证
package com.kingdee.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;
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(username == null || "".equals(username)){
list.add("username can't be null");
}
if(password.length() <6 || repassword.length() <6){
list.add("password can't less than 6");
}
if(!password.equals(repassword)){
list.add("password not same");
}
if(list.isEmpty()){
request.setAttribute("username", username);
request.setAttribute("password", password);
request.setAttribute("repassword", repassword);
request.getRequestDispatcher("success.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 {
super.doPost(request, response);
}
}
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<%
String username = (String)request.getAttribute("username");
String password = (String)request.getAttribute("password");
String repassword = (String)request.getAttribute("repassword");
%>
username:<%=username %><br>
password:<%=password %><br>
repassword:<%=repassword %>
</body>
</html>
error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<%
List<String> list = (List<String>)request.getAttribute("error");
%>
<h1>Register Failed!</h1>
<%
for(String str:list){
out.println(str+"<br>");
}
%>
</body>
</html>
本文介绍了一个使用JavaScript进行前端验证的用户注册页面,并通过Java Servlet在后端进行进一步的验证逻辑处理。该示例详细展示了如何在前端检查用户名是否为空、密码长度是否足够以及两次输入的密码是否一致,并在后端再次确认这些条件。
1988

被折叠的 条评论
为什么被折叠?



