ajax基础------备忘
1:register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>register.jsp</title>
<script type="text/javascript">
var xhr;
function checkUsername() {
//获取标签
var checkResult = document.getElementById("checkResult");
checkResult.innerHTML = "<font color='red'>正在检测用户名...</font>";
//获取用户输入的用户名
var username = document.getElementById("username").value;
//创建浏览器中可以发送异步请求的对象xhr,不同浏览器的创建方式不同
if(window.ActiveXObject){//IE浏览器
xhr = new ActiveXObject("Microsoft.XMLHttp");
}else if(window.XMLHttpRequest){//不是IE浏览器
xhr = new XMLHttpRequest();
} //事件监听(一旦发现状态发生变化,就执行函数handleRequest,得到服务器响应完成页面局部刷新)
xhr.onreadystatechange = handleRequest;
/*用GET方式发送请求
xhr.open("GET","UserServlet?f=1&username="+username,true);
xhr.send(null); */ //POST发送请求//自己创建的UserServlet
xhr.open("POST","UserServlet",true);
//设置POST请求的头
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//发送请求数据
xhr.send("f=1&username="+username);
} //得到服务器响应,完成页面局部刷新
function handleRequest() {
//获取标签
var checkResult = document.getElementById("checkResult");
if(xhr.readyState == 4){
if(xhr.status == 200){
checkResult.innerHTML = "<font color='red'>"+xhr.responseText+"</font>";
}else{
alert("有错"+xhr.status+":"+xhr.statusText);
}
}
}
</script>
</head>
<body> <form action="/ajax_1/UserServlet?f=1" method="post">
用户名:<input type="text" id="username" name="username" onblur="checkUsername();"><label id="checkResult"></label><br>
<input type="password" id="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
2:UserServlet.java
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//处理响应中文乱码
response.setContentType("text/html;charset=UTF-8"); Integer f = Integer.parseInt(request.getParameter("f"));
switch (f) {
case 1:
this.checkUsername(request, response);
break;
case 2:
this.register(request, response);
break;
}
} //检测用户名是否重复
protected void checkUsername(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter();
//获取从前台页面传来的username
String username = request.getParameter("username"); //简化处理逻辑(本应该去数据库查询)
if("zhangsan".equals(username)){
out.print("用户名"+username+"已经有人注册,请选择一个新的用户名");
}else{
out.print("恭喜您"+username+"可以使用");
} out.close();
} //用户注册
protected void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out =response.getWriter();
String username = request.getParameter("username"); //简化处理逻辑(本应该去数据库添加)
if("zhangsan".equals(username)){
out.print("用户名"+username+"已经有人注册,请选择一个新的用户名");
}else{
//数据库添加...
out.print("恭喜您"+username+"注册成功");
} out.close();
} }
3:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/UserServlet</url-pattern>
</servlet-mapping>
</web-app>

--------------------------------------------------------------------------------------------------------------------------------



ajax基础------备忘的更多相关文章
- UITextView -- 基础备忘
UITextView 这篇文章只涉及到基本的使用,日后会写一些关于结合TextKit的备忘 基本属性 let screenSize = UIScreen.mainScreen().bounds.siz ...
- jquery中的ajax方法(备忘)
参考:https://www.cnblogs.com/tylerdonet/p/3520862.html w3school:http://www.w3school.com.cn/jquery/ajax ...
- scala基础备忘
声明一个变量 声明一个常量 显式指定类型 定义一个main函数 package org.admln.scala class HelloScala { } object HelloScala { def ...
- Java Socket基础[备忘]
1.服务端----Server.java import javax.swing.*; import java.io.*; import java.net.*; import java.awt.*; i ...
- javaweb基础备忘
Request对象的主要方法有哪些 setAttribute(String name,Object):设置名字为name的request 的参数值 getAttribute(String name): ...
- Linux基础之常用基本命令备忘
Linux基础之常用基本命令备忘 PWD 查询当前所在Linux上的位置 / 根目录 CD(change directory)切换目录 语法 CD /(注意添加空格) LS ...
- AngularJS之备忘与诀窍
译自:<angularjs> 备忘与诀窍 目前为止,之前的章节已经覆盖了Angular所有功能结构中的大多数,包括指令,服务,控制器,资源以及其它内容.但是我们知道有时候仅仅阅读是不够的. ...
- Javascript备忘模式
使用备忘模式,利用了函数的自定义属性,先看一个例子 var test = function (){} test.myAttr = "attr"; 这样,就给test加上了一个自定义 ...
- Nmap备忘单:从探索到漏洞利用(Part 4)
这是我们的Nmap备忘单的第四部分(Part 1. Part 2. Part 3).本文中我们将讨论更多东西关于扫描防火墙,IDS / IPS 逃逸,Web服务器渗透测试等.在此之前,我们应该了解一下 ...
随机推荐
- Linux学习笔记(四)Linux常用命令:帮助命令
一.帮助命令man [man] [命令] 例如: man ls man的级别 man -f [命令] 相当于 whereis [命令] 可查看该命令有几个等级,进而可以通过 man [等级数] [ ...
- CSCD核心,北大中文核心
从两篇文章看两个杂志 title 子空间聚类的重建模型及其快速算法 稀疏正则非凸优化问题之全局收敛分析 author 夏雨晴(浙江大学数学科学学院),张振跃 储敏(武汉大学数学与统计学院) journ ...
- @Configuration的使用 和作用(转)
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplic ...
- 中介者模式(Mediator)---行为型
1 基础知识 定义:用一个中介对象来封装一系列的对象交互.中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 本质:封装交互 使用场景:(1)如果一组对象之间的 ...
- 小米oj 判断是否为连乘数字串
判断是否为连乘数字串 序号:#32难度:非常难时间限制:1000ms内存限制:10M 描述 给出一个字符串S,判断S是否为连乘字符串. 连乘字符串定义为: 字符串拆分成若干数字,后面的数字(从第三个 ...
- 【CUDA 基础】5.4 合并的全局内存访问
title: [CUDA 基础]5.4 合并的全局内存访问 categories: - CUDA - Freshman tags: - 合并 - 转置 toc: true date: 2018-06- ...
- Django-事务和锁
一.事务 1.全局开启事务 在Web应用中,常用的事务处理方式是将每个请求都包裹在一个事务中.这个功能使用起来非常简单,你只需要将它的配置项ATOMIC_REQUESTS设置为True. 它是这样工作 ...
- 安装mongodb-window10版
第一.下载mongodb 官方地址:https://www.mongodb.com/ 第二步mongodb安装 运行mongodb-win32-x86_64-2008plus-ssl-v3.4-lat ...
- elasticsearch集群部署以及head插件安装
环境准备 elasticsearch是Java程序写的因此必须装jdk,否则使用不了. [root@openstack ~]# java -versionopenjdk version "1 ...
- 1.2 JAVA的String类和StringBuffer类
一.String 1.String概念 String不属于基本类型,String是final修饰的是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了如果要对String修改使用 ...