ajax java web_在java Web中如何用Ajax实现用户名已存在

数据库操作类(mysql数据库)1.import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;public class BaseDao{

protected Connection conn;

protected Statement sta;

protected ResultSet rs;

protected PreparedStatement ps;

public void setConnection(){

try {

Class.forName("com.mysql.jdbc.Driver");

String url = "jdbc:mysql://localhost:3306/dianlv";

conn = DriverManager.getConnection(url,"root","root");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void closeAll(){

try{

if(rs!=null){

rs.close();

}if(ps!=null){

ps.close();

}if(sta!=null){

sta.close();

}if(conn!=null){

conn.close();

}

}catch(SQLException e){

e.printStackTrace();

}

}

}

2.UserDao类集成baseDao类,实现对数据库中的数据名字超找:import java.sql.SQLException;public class UserDao extends BaseDao {

/**

* 验证用户名是否成功;如果成功了返回true;

*

* **/

public boolean checkUserName(String userName){

boolean flag = false;

this.setConnection();

String sql ="select * from users where userName = ?";

try {

ps = conn.prepareStatement(sql);

ps.setString(1,userName);

rs = ps.executeQuery();

if(rs.next()){

flag = true;

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return flag;

}3.上面代码实现应该有一个user实体:创建user实体类:public class User {

private String userName;

private int id;

private String password;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

4.写一个servlet用户验证用户名是否重复;import java.io.IOException;

import java.io.PrintWriter;import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;import com.fz.dao.UserDao;public class CheckUserNameServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException { doPost(request, response);

} public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException { request.setCharacterEncoding("utf-8");

response.setContentType("text/html;charset=utf-8");

5:jsp页面用于用户的操作,上面用到ajax技术用户验证用户名是否重复

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'Login.jsp' starting page

function checkUnique(){

var content = $('#userName').val(); //获取文本框中输入的内容

var url = 'servlet/CheckUserNameServlet';

$.post(

url, //处理请求的url

{'name':content}, //传递的参数

function(data){ //请求处理完毕之后的回调函数

if(data == 'true'){//返回的是字符串不能用data = false这样比较

$("#s1").text("用户名不唯一");```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

}else if(data == 'false'){

$("#s1").text("用户名可用");

}

}

);

}

%>

用户名:

密码:

String userName = request.getParameter("userName");

if(userName!=null && !userName.isEmpty()){

UserDao dao = new UserDao();

boolean b = dao.checkUserName(userName);

PrintWriter out = response.getWriter();

out.print(b);

out.flush();

out.close();

}

}}

注意把jquery的jar报引到项目下,使用jquery方式实现ajax。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值