四、检测用户名是否被占用

一、步骤分析

1、数据库和表
2、新建项目(导入jar包,工具类,配置文件)
3、新建一个注册页面(表单),在文本框中输入用户名,失去焦点之后发送ajax请求,将输入的值发送到一个servlet
4、在servlet中接受前台数据并调用service进行验证
5、在表单页面接受响应的数据,进行判断。如果被占用,则表单不可提交。

二、示例代码

jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


    
用户名:
密码:

servlet层代码:

package com.itheima.web.servlet;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.itheima.domain.User;
import com.itheima.service.UserServcie;

/**
 * 原生ajax检测用户名是否被占用
 */
public class CheckUsername4AjaxServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //0.设置编码
        
        //1.接受用户名
        String username=request.getParameter("username");
        username=new String(username.getBytes("iso-8859-1"),"utf-8");
        System.out.println(username);
        
        //2.调用service 完成查询 返回值 user
        User user=null;
        try {
            user = new UserServcie().checkUsername4Ajax(username);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        //3.判断user 写回信息
        if(user == null){
            response.getWriter().println("1");
        }else{
            response.getWriter().println("0");
        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

你可能感兴趣的:(四、检测用户名是否被占用)