비동기 인증 이름 바 꾸 기,사용자 이름 존재 여부
csdn:레이 위안 csdn 블 로그
개인 블 로그:레이 위안 의 개인 블 로그
간 서:뇌 원 의 간 서
비동기 인증 이름 바 꾸 기,사용자 이름 존재 여부
우선 데이터베이스 디자인 입 니 다.여기 서 저 는 간단 한 예제 만 하 겠 습 니 다.
1.sql 문 구 는 다음 과 같다.
CREATE TABLE ` `.`user` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`create_date` VARCHAR(45),
PRIMARY KEY (`id`));
2.표 구 조 는 다음 그림 과 같다.
그리고 저희 dao 층 코드 를 만 드 는 거 예요.
1.jdbc 모드 코드 는 다음 과 같 습 니 다.
package test;
import java.sql.*;
// User
public class UserDao {
// JDBC URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/ ";
// ,
static final String USER = "your_username";
static final String PASS = "your_password";
//
public User verifyUser(String username){
Connection conn = null;
Statement stmt = null;
User user = null;
try{
user = new User();
// JDBC
Class.forName("com.mysql.jdbc.Driver");
//
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM user where username = '"+ username +"'";
ResultSet rs = stmt.executeQuery(sql);
//
while(rs.next()){
//
int id = rs.getInt("id");
String username1 = rs.getString("username");
String password = rs.getString("password");
String createDate = rs.getString("create_date");
user.setId(id);
user.setUsername(username1);
user.setPassword(password);
user.setCreateDate(createDate);
}
//
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// JDBC
se.printStackTrace();
}catch(Exception e){
// Class.forName
e.printStackTrace();
}finally{
//
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}//
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
return user;
}
}
2.mybatis 모드 는 다음 과 같 습 니 다:
// dao
package dao;
import User;
import java.util.List;
public interface UserDao {
//
User verifyUser(String username);
}
<mapper namespace="UserDao" >
<select id="verifyUser" resultType="User">
SELECT * FROM user where username = #{username};
select>
mapper>
3.hibenate 모드 는 다음 과 같 습 니 다:
// dao
package dao;
import User;
import java.util.List;
public interface UserDao {
// User
User verifyUser(String username);
}
// dao
package dao.impl;
import UserDao;
import User;
import org.apache.struts2.ServletActionContext;
import org.hibernate.Query;
import org.hibernate.ScrollableResults;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SessionFactory sessionFactory;
//
@Override
@Transactional
public User verifyUser(String username) {
return (User) sessionFactory.getCurrentSession().createQuery("from User where username='" + username +"'").uniqueResult();
}
}
다음은 저희 서 비 스 를 작성 하 겠 습 니 다.
// UserService
package service;
import User;
public interface UserService {
// ID
String verifyUser(String username);
}
// UserServiceImpl
package service.impl;
import User;
import service.UserService;
@Service
public class UserServiceImpl implements UserService {
// userDao, jdbc UserDao
@Autowired
private UserDao userDao;
//
public String verifyUser(String username){
User user = userDao.verifyUser(username);
// , SUCCESS, ERROR
if(user == null){
return "SUCCESS";
}else{
return "ERROR";
}
}
}
다음은 저희 컨트롤 러 층 컨트롤 러 입 니 다.
package controller;
import User;
import org.springframework.beans.factory.annotation.Autowired;
import service.UserService;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
// userService
private UserService userService;
@ResponseBody
@RequestMapping(value = "/verifyUser", method = RequestMethod.GET)
public String verifyUser(@RequestParam("username") String username){
return userService.verifyUser(username);
}
}
마지막 으로 우리 의 중요 한 장면 입 니 다.우리 의 전단 코드 와 jquery 를 통 해 ajax 비동기 검증 을 실현 합 니 다.
1.jquery 내 다른 블 로 그 를 어떻게 가 져 오 는 지
2.html 작성
<html lang="en">
<head>
<meta charset="UTF-8">
<title> title>
<script src="http://code.jquery.com/jquery-1.4.1.min.js">script>
head>
<body>
<input type="text" name="username" id="username" onkeyup="verifyUser()"/>
<input type="text" name="password" id="password"/>
<script>
function verifyUser() {
$.ajax({
type: "get",
url:"/user/verifyUser",
data:{
username:$("#username").val()
},
success(data){
if (data=="SUCCESS"){
alert(" , !!");
} else {
// , if
alert("");
}
},
error(){
alert("ajax , url type ");
}
});
}
script>
body>
html>
종결 어
이로써 저희 의 검증 은 완 성 된 셈 입 니 다.여러분 께 서 또 질문 이 있 으 시 면 댓 글 이나 댓 글로 알려 주시 면 최선 을 다 해 답변 해 드 리 겠 습 니 다.감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.