`

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>

 

分享到:
评论

相关推荐

    Android客户端远程登录web服务器数据交换实例

    在Android开发中,实现客户端与Web服务器的数据交换是一项常见的任务,尤其在移动应用需要与远程数据库交互时。本文将深入探讨“Android客户端远程登录Web服务器数据交换实例”,讲解如何使用MySQL数据库、JSON数据...

    Java和JavaScript在Lotus Domino_Notes5.0开发中的应用.pdf

    在Lotus Domino/Notes5.0中,Java和JavaScript可以相互配合使用,如使用Java开发服务器端的应用程序,而使用JavaScript实现客户端的交互程序。这样的组合可以使开发变得更加灵活和高效。 在开发过程中,需要注意...

    web开发手册(javascript css servlet w3c dhtml)

    学习JavaScript,开发者可以实现表单验证、动态效果、AJAX异步通信等功能。 3. **Servlet**: Servlet是Java EE的一部分,主要用于服务器端的编程,处理HTTP请求。servlet.chm很可能是关于Servlet API的详细指南,...

    java web实验报告;开发环境及web基础, JSP、Servlet及JDBC、扩展JavaScript

    Servlet是Java中的服务器端组件,处理来自客户端的请求并返回响应。实验中,学生将实践创建、部署和调试Servlet,理解请求-响应模型。JDBC则是Java访问数据库的标准接口,通过它可以实现数据的增删查改。学生将学习...

    Servlet服务器端代码-音乐播放器

    Servlet是Java Web开发中的核心组件,它主要用于处理服务器端的HTTP请求。在这个“Servlet服务器端代码-音乐播放器”项目中,我们可以深入探讨如何利用Servlet技术构建一个在线音乐播放平台。 首先,Servlet是一个...

    CKEditor 上传文件(Servlet实现)

    Servlet是Java服务器端程序,用于处理来自客户端(如浏览器)的请求并返回响应。在CKEditor的文件上传场景中,Servlet将接收编辑器发送的文件数据,并将其保存到服务器的指定位置。 1. **CKEditor配置**: - 在...

    零基础学Java.Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT)

    Servlet是Java Web开发中的另一个关键组件,它是一个服务器端的小程序,用于扩展Web服务器的功能。Servlet可以处理HTTP请求,生成响应,并与数据库或其他后端服务进行交互。Servlet与JSP通常结合使用,JSP负责视图层...

    Ajax+Jsp+mysql+servlet实现验证注册以及省市联动

    在本项目中,Servlet将作为服务器端的控制器,接收来自Ajax的请求,处理验证逻辑,并返回结果给客户端。 实现步骤如下: 1. **创建数据库和表**:首先,我们需要在MySQL中创建一个数据库,例如“registration”,...

    JSP,java,servlet,javascript综合项目

    在本项目中,JavaScript可能用于验证表单数据、实现动态效果、创建Ajax请求与服务器进行异步通信等。配合JSON(JavaScript Object Notation)数据格式,JavaScript可以轻松地与服务器交换数据,增强用户体验。 项目...

    Java Web应用客户端编程

    在Java Web环境中,客户端编程通常与Servlets、JSP(JavaServer Pages)、AJAX(异步JavaScript和XML)等技术相结合,以实现数据的实时更新和页面的无刷新加载。 本资料集包含了关于Java Web应用客户端编程的一些...

    Java Applet与Java Servlet的安全通信策略与实现.rar_applet_applet servlet_jav

    现代Web开发更倾向于使用JavaScript、HTML5和WebSockets等技术来实现客户端与服务器的交互。 总结,Java Applet与Java Servlet的安全通信是基于一系列安全策略和实现技术的,包括加密传输、身份验证、权限控制等。...

    Java Web应用开发:用户注册.docx

    - **引入验证脚本**:通过`&lt;script&gt;`标签引入客户端验证脚本`check.js`,实现对表单数据的基本验证。 - **设置提交行为**:设置表单的`onsubmit`事件,确保只有在验证通过后才允许提交。 2. **编写check.js验证...

    form_login 表单验证 客户端验证

    在Java Web开发中,表单验证是不可或缺的一部分,它确保用户...客户端验证提供了即时反馈,提升了用户体验,而服务器端验证则确保了数据的安全性。在实际开发中,两者通常结合使用,以提供最佳的用户体验和数据安全性。

    服务器端+Web管理端,web服务器端程序,Java源码.zip

    在本压缩包“服务器端+Web管理端,web服务器端程序,Java源码.zip”中,包含的是一个基于Java开发的Web服务器端程序。这个程序是用于构建后端服务并与Web管理端进行交互的,提供了丰富的功能来支持Web应用的管理和运行...

    web应用程序,用jsp,servlet实现

    JSP(JavaServer Pages)和Servlet是Java Web开发中的关键组件,它们在构建动态网页和服务器端处理方面发挥着重要作用。本项目“web应用程序,用jsp,servlet实现”旨在为初学者提供一个实践平台,帮助他们理解和...

    《Java Web开发基础——从Servlet到JSP》源代码v1.0

    Servlet是Java Web开发中的核心组件,它是一种服务器端的Java应用程序,用于处理来自客户端(通常是浏览器)的请求并生成动态内容。Servlet生命周期包括加载、初始化、服务、销毁四个阶段,程序员可以通过重写关键...

    jsp+javascript+servlet用户登录和注册,发帖

    Servlet是Java Web应用中的一种服务器端组件,负责处理来自客户端(如浏览器)的请求,并返回响应。在用户登录注册系统中,Servlet接收到JSP页面传递的用户信息后,会进行服务器端的验证,比如检查用户名是否已存在...

    基于servlet实现简单验证码验证

    基于Servlet实现的验证码验证是将验证码生成和验证过程集成到服务器端的一种方法,尤其适用于使用Java语言开发的SSH(Spring、Struts和Hibernate)项目。SSH框架提供了模型-视图-控制器(MVC)的架构,使得验证码...

    Java web与数据库交互实现三级联动.docx

    Servlet 技术可以用来实现 Web 应用程序的服务器端逻辑,例如处理用户请求、访问数据库等。 知识点10: JSON 数据格式 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于 Web 应用程序...

Global site tag (gtag.js) - Google Analytics