Este artículo comparte el método de función de inicio de sesión de Javaweb para su referencia. El contenido específico es el siguiente
En primer lugar, necesitamos el proceso básico de Javaweb Iniciar sesión: Envíe solicitudes en la página JSP -> Servlet -> Servlet obtiene datos de la base de datos llamando a los métodos y devuelve el resultado a la página.
Primero creamos tres páginas JSP, incluyendo login.jsp (página de inicio de sesión), index.jsp (muestra la información después del éxito de inicio de sesión) y Error.jsp (página que no puede iniciar sesión). El contenido de las últimas dos páginas se puede escribir a voluntad, y el contenido principal de la página Login.jsp es el siguiente:
<form de acción = "loginservlet" método = "post"> username: <input type = "text" name = "username"/> contraseña: <input type = "contraseña" name = "contraseña"/> <input type = "enviar" value = "enviar"/> </form>
Al comienzo del archivo Login.jsp, necesitamos cambiar PageEncoding = "ISO-8859-1" a PageEncoding = "UTF-8" (al mismo tiempo, no olvide establecer el formato de codificación de la herramienta de desarrollo, de lo contrario, la página JSP mostrará código agitado)
Basado en los dos atributos de nombre de usuario y contraseña, creamos las clases de entidad correspondientes y agregamos métodos Get and Set. El código es el siguiente:
Usuario de clase pública {Nombre de usuario de cadena privada; contraseña de cadena privada; 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 = contraseña; }} La acción = "LoginServlet" en la página JSP se refiere a enviar una solicitud al Servlet para su procesamiento. A continuación vamos a Servlet para procesar:
import java.io.ioException; import javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import javax.servlet.http.htpserveTretRespone; import. en lugar de clase cuando se crea. Debe configurarse en Web.xml. El código configurado MyEClipse generará automáticamente la clase Public LoginServlet extiende httpservlet {// Crear objeto UserDao para facilitar la consulta de la base de datos userdao userdao = new UserDao (); // Los siguientes métodos de DoGet y los métodos DOPOST corresponden al método = "get" y método = "post" en el formulario respectivamente public void doget (httpservletRequest solicitud, httpServletResponse respuesta) lanza servletException, ioexception {} public void dopoost (httPsquest Solicitue public void dopost (httpservletRequest solicitud, respuesta httpservletResponse) lanza ServletException, ioException {// use el método getParameter para obtener el valor ingresado en el cuadro de texto de primer plano, donde el contenido en los soportes es el atributo de nombre en el <put/> tag String username = request.getParameter ("Username");;;;;;;;; Cadena contraseña = request.getParameter ("contraseña"); // llame al método getSelect en userdao y obtenga el valor de retorno boolean flag = userdao.getSelect (nombre de usuario, contraseña); // reenviar a la página index.jsp if (flag) {request.getRequestDispatcher ("index.jsp"). Award (request, respuesta); } else respuesta.sendedirect ("error.jsp"); }} Lo que ya he dicho en los comentarios es muy claro, así que ya no lo repetiré. Puede mirar las líneas 26 y las líneas 29, de las cuales 26 están reenviando y 29 están redirigiendo. Los amigos interesados pueden verificar la diferencia entre los dos. La parte del resto es la operación de consulta sobre la base de datos que mencionamos antes. Lo llamamos en la línea 23, y el siguiente método completamos la llamada:
paquete com.test.dao; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedStatement; import java.sql.ResultSet; Public Class UserDao {// Conectando la Conexión pública de DataBase getCon () {// Database Name String String Name = "Root"; // Conexión de base de datos Password String Password = ""; String Driver = "com.mysql.jdbc.driver"; // donde la prueba es la cadena de nombre de la base de datos url = "jdbc: mysql: // localhost: 3306/test"; Conexión conn = nulo; intente {class.forname (controlador); conn = (Connection) Drivermanager.getConnection (url, nombre de usuario, contraseña); } catch (Exception e) {E.PrintStackTrace (); } return Conn; } // El método de consulta, si hay datos que cumplen con las condiciones, devuelve el verdadero público boolean getSelect (String UserName, String Password) {Boolean Flag = false; String sql = "Seleccionar * del usuario donde username = '"+nombre de usuario+"' y contraseña = '"+contraseña+"'"; Conexión conn = getCon (); Preparado PST = NULL; intente {pst = (preparado) conn.preparestatement (sql); ResultSet rs = pst.executeQuery (); if (rs.next ()) {flag = true; }} catch (Exception e) {} return flag; }}En este método, primero nos conectamos a la base de datos y luego pasamos el nombre de usuario y la contraseña del método de consulta obtenidos de la página JSP para determinar si el usuario con este nombre de usuario y contraseña existe en la base de datos. Si existe, devuelve verdadero, de lo contrario devuelve False (no olvide importar el paquete vinculado a la base de datos).
En cuanto a los campos en la base de datos, puede usar el usuario de la clase Entity para crearlo, es decir, incluye dos atributos: nombre de usuario y contraseña. Si tiene alguna pregunta sobre el enlace de la base de datos, consulte el ensayo anterior sobre la parte de la base de datos.
Finalmente, echemos un vistazo a la configuración en Web.xml:
<? xml versión = "1.0" encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" " xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" <servlet> <servlet-name> loginservlet </servlet-name> <ervlet-class> com.test.servlet.loginservlet </servlet-class> </servlet> <ervlet-mapping> <ervlet-name> loginservlet </servlet-name> <url-patter-patter-patter-patinservlet </ url-pattern> </servlet-mapping> </web-aphap-dapp.
El <ervlet-name> en <servlet> se puede escribir a voluntad, solo asegúrese de que las partes superiores e inferiores sean las mismas.
Luego está el camino del servlet definido por usted mismo (incluido el nombre del paquete) y finalmente <url-patatrn>. El contenido interior también se puede escribir a voluntad, pero el atributo de acción del formulario del formulario en la página JSP debe ser el mismo que este nombre (la acción no contiene "/")
Finalmente, necesitamos publicar el proyecto web a Tomcat y luego ingresar: http: // localhost: 8080/proyecto name/login.jsp en el navegador para acceder e iniciar sesión.
Esta es solo una aplicación simple, y el propósito es ayudar a todos los amigos a comprender el proceso básico del desarrollo de JSP+Servlet. Por supuesto, realizaremos una segmentación más detallada en el proceso de desarrollo real, incluidas interfaces, clases de implementación, etc.