谁能给代码,我能在我电脑上跑起来效果就采纳。只求能实现,看看流程什么样子的,我用的eclipse,servlet。
直接上图:
项目完整代码:
首先需要导入MySQL驱动包:mysql-connector-java-5.1.41.jar,下面提供我共享的下载路径:
链接:https://pan.baidu.com/s/1iDDcATg7xZKApMPw-fbsyA 密码:az5z
DataBase.java:
package com.cn.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DataBase {
public Connection connection;
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/test";
private static final String name = "root";
private static final String pass = "root";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(driver);// 动态加载mysql驱动
// 一个Connection代表一个数据库连接
conn = DriverManager.getConnection(url, name, pass);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void closeConnection(Connection conn, Statement st, ResultSet rs) {
try {
if (rs != null)
rs.close();
if (st != null)
st.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
TestServlet.java:
package com.cn.web;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.cn.util.DataBase;
@WebServlet("/login.do")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public TestServlet() {
super();
}
public void init(ServletConfig config) throws ServletException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter(); //获取 out 对象
String username = request.getParameter("username"); //接受用户名
Connection conn = DataBase.getConnection();//获取MySQL数据库链接
String sql = "select count(1) from user where name=?"; //sql语句
PreparedStatement stmt;
try {
stmt = conn.prepareStatement(sql);
stmt.setString(1, username); //填入参数
ResultSet rs = stmt.executeQuery(); //执行并用ResultSet接受结果
while(rs.next()){//遍历结构
if (rs.getInt(1) > 0) { //判断用户是否存在,写入 相应的结果以响应请求
out.write("error");
}else{
out.write("success");
}
}
DataBase.closeConnection(conn, stmt, rs);//最后关闭 数据库连接释放资源
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTf-8" isELIgnored="false"%>
<!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=ISO-8859-1">
<script type="text/javascript" src="jquery.min.js"></script>
<title>Insert title here</title>
</head>
<body>
<h1>Bugzilla 测试页面</h1>
<p>
<h3>单击此按钮进行 Bugzilla WebService API 的XMLRPC调用测试:</h3>
<input type="text" value="" name="username">
<button onclick="checked()">超级简单的按钮</button>
<p>
<script type="text/javascript">
function checked(){
var name = $("[name='username']").val();
$.ajax({
url : "login.do",
type : "POST",
dataType: "text",
data : {username : name},
success : function (data){
if(data == "error"){
alert("用户已存在!");
}else if(data == "success"){
alert("用户名可以使用!");
}
},error : function(){
alert("程序异常!");
}
});
}
</script>
</body>
</html>
web.xml:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
不给代码 给你个思路吧 授人以鱼不如授人以渔
首先不管你是用hibernate还是mybatis 或者jdbc操作数据库的 你后台应该要有个按用户名查询的方法
然后 controller或者servlet有个方法是做验证的 调取根据用户名查询的方法 根据判断返回结果
最后 ajax的url应该指向这个contoller或者servlet的方法 记得带参数-输入的用户名
使用GET 或POST JQUERY 进行查询返回就可以了
我只求能展现ajax技术的代码,不管多基础多简单。我自己完善改进,45币
谁知道你的电脑行不行,以及你水平是否低到送到嘴边的肉都吃不进去。
最关键的,查不到你在csdn的信用,谁知道你会不会拿了代码就跑了。
可以给你写一个例子,包在我的计算机上能跑通。前提是你先采纳。
$.ajax({
method: 'get',
url: '检查接口',
timeout: 1000 * 60,
headers: {
},
data: {请求参数},
success: function (res) {
if (res.success) {
//do somthing
}
if (!res.success) {
//do somthing
}
},
error: function (err) {
//do somthing
}
});
使用GET 或POST JQUERY 进行查询返回就可以了
function loginValidate(){
var name = $("[name='username']").val();
$.ajax({
url : "loginCheck.do",
type : "POST",
dataType: "text",
data : {username : name},
success : function (data){
if(data == "error"){
alert("用户已存在!");
}else if(data == "success"){
alert("用户名可以使用!");
}
},error : function(){
alert("程序异常!");
}
});
}
js代码: var cn;
function checkUname(){
var uname=document.getElementById("uname").value;
document.getElementById("s1").innerHTML="";
if(uname==""){
document.getElementById("s1").innerHTML="用户名不能为空";
return false;
}else{
$.ajax(
{
url:"ua.do",
data:"uname="+uname,
dataType:"text",
success:function(data){
//alert(data);
$("#s1").html(data);
if(data!=""){
cn=false;
}
},
error:function(){alert('错了');}
}
);
}
return cn;
}
servlet 代码:
package 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 biz.IUsersBiz;
import biz.imp.Imp_UsersBiz;
public class UnameAjax extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String uname=req.getParameter("uname");
IUsersBiz iub=new Imp_UsersBiz();
String str="";
if(iub.checkUname(uname)){
str="用户名已存在";
}
resp.setCharacterEncoding("utf-8");
PrintWriter out=resp.getWriter();
out.print(str);
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}