이 기사에서는 참조에 대한 Javaweb 로그인 기능 방법을 공유합니다. 특정 내용은 다음과 같습니다
우선, Javaweb 로그인의 기본 프로세스가 필요합니다. JSP 페이지에서 요청 보내기 페이지 -> Servlet-> Servlet는 메소드를 호출하여 데이터베이스에서 데이터를 가져오고 결과를 페이지에 반환합니다.
먼저 login.jsp (login page), index.jsp (로그인 성공 후 정보를 표시 함) 및 error.jsp (로그인하지 않은 페이지)를 포함한 3 개의 JSP 페이지를 만듭니다. 마지막 두 페이지의 내용은 마음대로 작성할 수 있으며 Login.jsp 페이지의 주요 내용은 다음과 같습니다.
<form action = "loginservlet"method = "post"> 사용자 이름 : <input type = "text"name = "username"/> password : <입력 유형 = "암호"name = "password"/> <input type = "value ="제출 "/> </form>
Login.jsp 파일의 시작 부분에서 PageEncoding = "ISO-8859-1"을 PageEncoding = "UTF-8"으로 변경해야합니다 (동시에 개발 도구의 인코딩 형식을 설정하는 것을 잊지 마십시오.
사용자 이름과 비밀번호의 두 가지 속성을 기반으로 해당 엔티티 클래스를 생성하고 Get and Set 메소드를 추가합니다. 코드는 다음과 같습니다.
공개 클래스 사용자 {개인 문자열 사용자 이름; 개인 문자열 비밀번호; public String getUserName () {return username; } public void setusername (String username) {this.username = username; } public String getPassword () {return password; } public void setpassword (문자열 비밀번호) {this.password = password; }} JSP 페이지의 action = "loginservlet"은 처리 요청을 처리하는 것을 말합니다. 다음으로 Servlet로 이동하여 처리합니다.
import java.io.ioexception; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.htttp.htttp.htttp.httpervletrequest; import javax.servlet.http.htttp.htttp.htttp.htttp.httervletresponse; import com.dao 생성 될 때 클래스 대신 서블릿. Web.xml에서 구성해야합니다. 구성된 코드 MyEclipse는 자동으로 공개 클래스 LoginServlet를 확장합니다. httpservlet {// userDao 객체를 작성하여 데이터베이스 userDao userDao = new userDao ()를 용이하게합니다. // 다음 doget 메소드 및 dopost 메소드는 method = "get"및 method = "post"에 각각 공개 void doget (httpservletrequest request, httpservletreponse 응답) servletexception, ioexception {} public void dopost (httpservletrequest 요청, httpserver resonge)에 해당합니다. } public void dopost (httpservletrequest 요청, httpservletrequest response)는 servletexception, ioexception {// getParameter 메소드를 사용하여 전경 텍스트 상자에 값을 입력하여 괄호의 내용이 <input/> tag string userername = request.getername ")의 이름 속성입니다. 문자열 비밀번호 = request.getParameter ( "password"); // userDao에서 getSelect 메소드를 호출하고 반환 값을 가져옵니다 boolean flag = userDao.getSelect (사용자 이름, 암호); // index.jsp page if (flag) {request.getRequestDispatcher ( "index.jsp"). forward (요청, 응답); } else response.sendRedirect ( "error.jsp"); }} 의견에서 이미 말한 것은 매우 명확하므로 더 이상 반복하지 않을 것입니다. 26 행과 29 행을 볼 수 있으며, 그 중 26 개는 전달되고 29 개는 리디렉션됩니다. 관심있는 친구는 둘 사이의 차이점을 확인할 수 있습니다. 나머지 부분은 이전에 언급 한 데이터베이스에 대한 쿼리 작업입니다. 우리는 23 행에 전화를 걸었고 다음 방법은 전화를 완료했습니다.
package com.test.dao; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; public class userdao {// database public connection getcon (// database 연결 이름 string username) "; // 데이터베이스 연결 비밀번호 문자열 암호 = ""; 문자열 드라이버 = "com.mysql.jdbc.driver"; // 여기서 테스트는 데이터베이스 이름 문자열 URL = "jdbc : mysql : // localhost : 3306/test"; 연결 Conn = null; try {class.forname (드라이버); conn = (Connection) DriverManager.getConnection (URL, 사용자 이름, 암호); } catch (예외 e) {e.printstacktrace (); } return conn; } // 쿼리 방법, 조건을 충족하는 데이터가있는 경우 실제 공개 부울 getSelect (문자열 사용자 이름, 문자열 암호) {boolean flag = false; 문자열 sql = "select * where username = '"+username+"'및 password = '+password+" "; 연결 conn = getCon (); 준비된 상태 pST = null; try {pst = (proadstatement) conn.preparestatement (SQL); resultet rs = pst.executeQuery (); if (rs.next ()) {flag = true; }} catch (예외 e) {} return 플래그; }}이 메소드에서는 먼저 데이터베이스에 연결 한 다음 JSP 페이지에서 얻은 쿼리 메소드 사용자 이름과 비밀번호를 전달 하여이 사용자 이름과 비밀번호가있는 사용자가 데이터베이스에 존재하는지 여부를 결정합니다. 존재하면 true가 반환됩니다. 그렇지 않으면 거짓을 반환합니다 (데이터베이스에 링크 된 패키지를 가져 오는 것을 잊지 마십시오).
데이터베이스의 필드는 엔티티 클래스 사용자를 사용하여 생성 할 수 있습니다. 즉, 사용자 이름과 비밀번호의 두 가지 속성이 포함됩니다. 데이터베이스 링크에 대해 궁금한 점이 있으면 데이터베이스 부분에 대한 이전 에세이를 참조하십시오.
마지막으로 Web.xml의 구성을 살펴 보겠습니다.
<? xml version = "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_3_0.xsd"3. ""webapp_ "" " <Servlet> <servlet-name> loginservlet </servlet-name> <servlet-class> com.test.servlet.loginservlet </servlet-class> </servlet-mapping> <servlet-name> loginservlet </servlet-name> <url-pattern>/loginservletn </servlet-mapping>
<servlet-name>의 <servlet-name>은 마음대로 작성할 수 있습니다. 상단과 하단 부품이 동일해야합니다.
그런 다음 스스로 정의 된 서블릿의 경로 (패키지 이름 포함)와 마지막으로 <url-pattern>이 있습니다. 내부의 내용은 또한 마음대로 작성 될 수 있지만 JSP 페이지의 양식 양식의 조치 속성은이 이름과 동일해야합니다 (작업에는 "/"가 포함되어 있지 않음).
마지막으로, 웹 프로젝트를 Tomcat에 게시 한 다음 브라우저의 http : // localhost : 8080/project name/login.jsp를 입력하여 액세스하고 로그인해야합니다.
이것은 단순한 응용 프로그램 일 뿐이며 모든 친구가 JSP+서블릿 개발의 기본 프로세스를 이해하도록 돕는 것이 목적입니다. 물론 인터페이스, 구현 클래스 등을 포함하여 실제 개발 프로세스에서보다 자세한 세분화를 수행 할 것입니다.