SSH 온라인 쇼핑 몰 에서 ajax 를 사용 하여 사용자 이름 에 비동기 검사 가 있 는 지 확인 합 니 다.
우선 ajax 가 사용자 이름 에 비동기 검사 가 존재 하 는 지 확인 하 였 습 니 다.어떻게 해 야 합 니까?여기 서 우 리 는 이벤트 에 의 해 촉발 되 어야 합 니 다.즉,우리 가 사용자 이름 에 입력 할 때 마 우 스 를 옮 겨 야 합 니 다.이 사건 은 onblur 라 고 합 니 다.즉,초점 을 잃 는 것 과 상대 적 으로 마 우 스 를 안에 두 고 초점 을 얻 는 것 입 니 다.우 리 는 onfocus 라 고 합 니 다.그러면 초점 을 잃 으 면 어떻게 조작 해 야 합 니까?먼저 등록 페이지 를 찾 고 등록 페이지 에서 사용자 이름 부분의 코드 를 찾 습 니 다.뒤에 onblur=checkUsername()을 추가 하여 사용자 이름 을 확인 하면 됩 니 다.이 어 checkUsername 방법 을 작성 하 겠 습 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
<span style="font-size:18px;">function checkUsername() {
// :
var username = document.getElementById("username").value;
//1、
var xhr = createXmlHttp();
//2、
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
document.getElementById("span1").innerHTML = xhr.responseText;
}
}
}
//3、
xhr.open("GET",
"${pageContext.request.contextPath}/user_findByName.action?time="
+ new Date().getTime() + "&username=", true)
//4、
xhr.send(null);
}
function createXmlHttp() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
return xmlHttp;
}
</span>
이어서 우 리 는 실체 Vo 를 구축 하고 모델 구동 을 실현 하 며 자동 으로 봉인 을 실현 한다.구체 적 인 코드 는 다음 과 같다.
<span style="font-size:18px;">package cn.itcast.shop.user.vo;
public class User {
private Integer uid;
private String username;
private String password;
private String name;
private String email;
private String phone;
private String addr;
private Integer state;
private String code;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}</span>
우 리 는 파 라 메 터 를 받 고 모델 구동 을 실현 하려 고 합 니 다.Action Support 는 model Driven 을 직접 실현 하면 됩 니 다.이 어 ajax 코드 를 작성 하려 면 action 에 제출 해 야 합 니 다.UserAction 의 코드 를 작성 하 겠 습 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
<span style="font-size:18px;">package cn.itcast.shop.user.action;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import cn.itcast.shop.user.service.UserService;
import cn.itcast.shop.user.vo.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* Action
* @author Flower
*
*/
public class UserAction extends ActionSupport implements ModelDriven<User> {
//
private User user = new User();
public User getModel(){
return user;
}
// UserService
private UserService userService;
public void setUserService(UserService userService){
this.userService=userService;
}
/**
*
*/
public String registPage(){
return "registPage";
}
/**
* ajax
* @throws IOException
*/
public String findByName() throws IOException{
// Service
User existUser = userService.findByUsername(user.getUsername());
// response ,
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
//
if(existUser != null){
// :
response.getWriter().println("<font color='red'> </font>");
}else{
// :
response.getWriter().println("<font color='green'> </font>");
}
return NONE;
}
/**
* ⒉ ǎ
*/
public String regist(){
return NONE;
}
}
</span>
이 어 우리 가 해 야 할 일 은 service 와 Dao 를 applicationContext 에 설정 하 는 것 입 니 다.코드 는 다음 과 같 습 니 다.
<span style="font-size:18px;"><!-- Service =========================== -->
<bean id="userService" class="cn.itcast.shop.user.service.UserService">
<property name="userDao" ref="userDao"/>
</bean>
<!-- UserDao =========================== -->
<bean id="userDao" class="cn.itcast.shop.user.dao.UserDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean> </span>
설정 이 끝 난 후에 저 희 는 UserDao 에서 조 회 를 완성 해 야 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
<span style="font-size:18px;">package cn.itcast.shop.user.dao;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import java.util.List;
import cn.itcast.shop.user.vo.User;
/**
*
* @author Flower
*
*/
public class UserDao extends HibernateDaoSupport {
//
public User findByUsername (String username){
String hql ="from User where username= ?";
List <User> list=this.getHibernateTemplate().find(hql,username);
if(list !=null && list.size() > 0){
return list.get(0);
}
return null;
}
}
</span>
이어서 우 리 는 서비스 에서 Dao 에 대한 호출 을 완성 해 야 한다.구체 적 인 코드 는 다음 과 같다.
<span style="font-size:18px;">package cn.itcast.shop.user.service;
import org.springframework.transaction.annotation.Transactional;
import cn.itcast.shop.user.dao.UserDao;
import cn.itcast.shop.user.vo.User;
/**
*
* @author Flower
*
*/
@Transactional
public class UserService {
// UserDao
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao =userDao;
}
//
public User findByUsername (String username){
return userDao.findByUsername(username);
}
}
</span>
이어서 우 리 는 UserAction 에서 호출 을 해 야 한다.구체 적 인 코드 는 다음 과 같다.
<span style="font-size:18px;">package cn.itcast.shop.user.action;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import cn.itcast.shop.user.service.UserService;
import cn.itcast.shop.user.vo.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* Action
* @author Flower
*
*/
public class UserAction extends ActionSupport implements ModelDriven<User> {
//
private User user = new User();
public User getModel(){
return user;
}
// UserService
private UserService userService;
public void setUserService(UserService userService){
this.userService=userService;
}
/**
*
*/
public String registPage(){
return "registPage";
}
/**
* ajax
* @throws IOException
*/
public String findByName() throws IOException{
// Service
User existUser = userService.findByUsername(user.getUsername());
// response ,
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
//
if(existUser != null){
// :
response.getWriter().println("<font color='red'> </font>");
}else{
// :
response.getWriter().println("<font color='green'> </font>");
}
return NONE;
}
/**
* ⒉ ǎ
*/
public String regist(){
return NONE;
}
}
</span>
마지막 으로 맵 파일 의 내용 을 작성 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="cn.itcast.shop.user.vo.User" table="user">
<id name="uid">
<generator class="native"/>
</id>
<property name="username"/>
<property name="password"/>
<property name="name"/>
<property name="email"/>
<property name="phone"/>
<property name="addr"/>
<property name="state"/>
<property name="code"/>
</class>
</hibernate-mapping></span>
잊 지 마 세 요.applicationContext 에 데 리 고 가 야 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
<span style="font-size:18px;"><!-- Hibernate -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.connection.autocommit">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- Hibernate -->
<property name="mappingResources">
<list>
<value>cn/itcast/shop/user/vo/User.hbm.xml</value>
</list>
</property>
</span>
코드 는 여기까지 입 니 다.효과 도 를 보 여 드 리 겠 습 니 다. 소 편 총화:
실현 의 사고방식 은 이렇다.∩*)′,우선 onblur 에서 이벤트 트리거 를 진행 합 니 다.둘째,ajax 코드 를 작성 하여 action 에 제출 하고 매개 변수 username,세 번 째 단 계 를 전달 합 니 다.action 을 작성 하고 username 을 받 습 니 다.모델 구동 설정 을 spring 에 실현 합 니 다.네 번 째 단 계 는 DAO 를 작성 하고 HibernateDao Support 를 통합 합 니 다.설정 에 session Factory 를 주입 하고 마지막 으로 Service 를 작성 하여 UserDao 를 주입 합 니 다.그리고 사무 관리,간단 한 demo,그리고 어린이 들 에 게 많은 가르침 을 바 랍 니 다.SSH 온라인 쇼핑 몰,하 이 라이트 미 완성 계속~~~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SSH 키 쌍이 손실된 경우 EC2 인스턴스에 대한 SSH 연결 복원얼마 전에 안타깝게도 중요한 EC2 인스턴스에 속한 SSH 키 쌍을 잃어버렸습니다. 그 시점에서 우리는 방금 인스턴스의 스냅샷을 찍고 새 키 쌍으로 새 인스턴스를 생성했습니다. 이 블로그 게시물에서는 SSH 연결을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.