Ajax y el uso de Java para lograr etapa de procesamiento asíncrono antes y después de la interacción, por ejemplo de inicio de sesión

Para iniciar sesión, por ejemplo, un modo DAO basado en Java, simple interacción de la parte delantera y trasera de ajax, no se dan cuenta del salto página para lograr una pronta partir.

1.JavaBean 层

package demo.bean;

public class User {
private int id;
private String username;
private String password;
public int getId() {
	return id;
}
public void setId(int id) {
	this.id = id;
}
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 User(int id, String username, String password) {
	super();
	this.id = id;
	this.username = username;
	this.password = password;
}
public User(String username, String password) {
	super();
	this.username = username;
	this.password = password;
}
public User(){
	
}
}

2.DAO alcanzar niveles

se omite aquí DAO capa de interfaz, implementado aquí Iniciar sesión operación de datos.

public class UserDaoImpl implements UserDao{
	@Override
	public boolean login(String username, String password) {
		Connection conn=DBUtil.getConnection();
		boolean flag = false;
		try {
			String sql="select * from user where username='"+ username + "'and password='"+password+"'";
			Statement st=(Statement) conn.createStatement();
			ResultSet rSet=st.executeQuery(sql);
			while(rSet.next()){
				User user=new User();
				user.setId(rSet.getInt("id"));
				user.setUsername(rSet.getString("username"));
				user.setPassword(rSet.getString("password"));
				System.out.println(user.getUsername());
				flag=true;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return flag;
	}
	}

capa 3.servlet

Nombre de ruta de acceso User_Servlet

package demo.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletContext;
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 javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionContext;
import javax.websocket.Session;

import demo.dao.UserDao;
import demo.dao.impl.UserDaoImpl;

/**
 * Servlet implementation class User_Servlet
 */
@WebServlet("/User_Servlet")
public class User_Servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public User_Servlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		PrintWriter pWriter=response.getWriter();
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		boolean flag=new UserDaoImpl().login(username, password);
		if (flag) {
			pWriter.print("登录成功");
		} else {
			pWriter.print("用户名或密码错误");
		}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

4. implementación del diseño delantero

1. La parte de interfaz

<body>
	<form action="#" method>
		<div class="div1">
			username:<input type="text" name="username" id="uname"><br><br>
			password:<input type="password" name="password" id="upwd"><br><br>
			<input type="button" value="login" id="submit"  onclick="loadXMLHttp()">	
			<br><br>
			<div id="message"><h3></h3></div>
		</div>
	</form>
</body>

2.ajax sección interactúan

<script src="<%=request.getContextPath() %>/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
	function loadXMLHttp(){
		var xmlhttp;
		var username=document.getElementById("uname").value;
		var password=document.getElementById("upwd").value;
		if(username==""&&username==null){
			alert("用户名不能为空");
		}else if(password==""&&password==null){
			alert("密码不能为空");
		}
		if(window.XMLHttpRequest){
			xmlhttp=new XMLHttpRequest();
		}else{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		xmlhttp.onreadystatechange=function(){
			if(xmlhttp.readyState==4&&xmlhttp.status==200){
				document.getElementById("message").innerHTML=xmlhttp.responseText;
			}
		}; 
		xmlhttp.open("post","User_Servlet",true);
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		xmlhttp.send("username="+username+"&password="+password);
 }
</script>

Nota: 1, Xmlhttp.open (Método ,, url, el asíncrono),
(1) método, un método es "post", como datos POST requeridos como un formulario HTML, el uso setRequestHeader () para añadir el encabezado HTTP. datos deseados son transmitidos a continuación, en un método de envío predeterminado () en
la ejecución de la función (2) Cuando se utiliza el async = true, que prescriba en el estado listo en respuesta a eventos onreadystatechange

5. Resultados de

Aquí Insertar imagen Descripción
Haga clic para acceder a saltar entre las páginas no se produce, mostrar un mensaje directamente, en el mensaje especificado.

Publicado siete artículos originales · ganado elogios 2 · Vistas 1189

Supongo que te gusta

Origin blog.csdn.net/weixin_41040866/article/details/84894794
Recomendado
Clasificación