`

Web开发8:使用JavaScript与Servlet实现客户端与服务器端验证

 
阅读更多

下面写一个注册页面

 

 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>

 

分享到:
评论

相关推荐

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现...

    李兴华Java Web开发实战经典(高清版) Part2

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现...

    JavaScript完全自学宝典 源代码

    \ajaxmodel\src\bonze\UserValServlet.java 完成验证的服务器端。 \ajaxmodel\src\bonze\CityServlet.java 动态加载列表框的服务器端。 \ajaxmodel\src\bonze\AutoRefServlet.java 自动刷新网页的服务器端。 ...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现过滤器...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现过滤器...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现过滤器...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现过滤器...

    java web 视频、电子书、源码(李兴华老师出版)

    9.7.2、服务器端跳转 9.8、WEB开发模式:Mode I与Mode II 9.8.1、Mode I 9.8.2、Mode II:Model-View-Controller 9.9、实例操作:MVC设计模式应用 9.10、过滤器 9.10.1、过滤器的基本概念 9.10.2、实现...

    Ajax详解.rar

    Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用...1.6 服务器端验证的需要 179 1.7 用 JSNI 调用本机 JavaScript 181 1.8 为什么使用 GWT? 183

    JAVA WEB典型模块与项目实战大全

    5.3 服务器端验证  5.4 实现图形验证码  5.5 避免重复提交功能  5.6 缩略加水印图像  5.7 小结  第6章 网络硬盘  6.1 网络硬盘功能原理  6.2 网络硬盘功能具体实现——浏览磁盘和显示文件信息  6.3...

    java开源包8

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络...

    基于J2EE框架的个人博客系统项目毕业设计论...

    只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络...

    java开源包3

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java源码包3

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

Global site tag (gtag.js) - Google Analytics