JSP+Servlet 제작 자바 웹 로그 인 기능 의 전체 프로 세 스 분석
우선,MyEclipse 에 자바 웹 프로젝트 를 새로 만 듭 니 다.프로젝트 이름 은 login 입 니 다.이 때 프로젝트 에는 src 폴 더 와 WebRoot 폴 더,자바 웹 이 자체 적 으로 가지 고 있 는 JRE 라 이브 러 리 폴 더 와 J2EE 라 이브 러 리 폴 더 가 포함 되 어 있 습 니 다.웹 루트 폴 더 아래 에는 WEB-INF 폴 더 와 index.jsp 페이지 파일 이 포함 되 어 있 습 니 다.
다음은 login.jsp 라 는 JSP 페이지 를 새로 만 듭 니 다.
프로젝트 파일 의 구 조 는 다음 과 같 습 니 다.
1.login.jsp 페이지 디자인
login.jsp 페이지 를 열 면 첫 번 째 줄 의 코드 를 pageEncoding="utf-8"로 수정 하여 페이지 중국어 에 오류 가 발생 하지 않도록 합 니 다.다음은 body 부분 에서 form 폼 을 정의 하여 사용자 가 사용자 이름과 비밀 번 호 를 입력 하 는 데 사용 합 니 다.페이지 코드 는 다음 과 같 습 니 다:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title> </title>
</head>
<body>
<form action="login" method="post">
:<input name="username" type="text" /><br/>
:<input name="password" type="password" /><br/>
<input type="submit" value=" " />
</form>
</body>
</html>
2.새 servlet 파일다음은 MyEclipse 에 loginServlet.java 를 새로 만 들 고 패키지 폴 더 a 에 정의 합 니 다(패키지 이름 은 스스로 결정 합 니 다).폴 더 디 렉 터 리 는 다음 과 같 습 니 다:
더 블 클릭 하여 loginServlet.자바 파일 을 열 고 doPost 방법 에서 request.getParameter()방법 으로 login 페이지 의 username 과 password 를 얻 고 response.sendRedirect()방법 으로 index.jsp 페이지 로 이동 합 니 다.페이지 코드 는 다음 과 같 습 니 다:
package a;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class loginServlet implements javax.servlet.Servlet{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
String userName = request.getParameter("username");//
String password = request.getParameter("password");//
response.sendRedirect("index.jsp");
}
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {
}
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
HttpServletRequest rq = (HttpServletRequest)request;
HttpServletResponse rs = (HttpServletResponse) response;
doPost(rq,rs);
}
}
3.servlet 설정WEB-INF 폴 더 에 있 는 웹.xml 파일 을 열 고 이 사이트 의 첫 페이지 를 login.jsp 로 설정 합 니 다.다음은 servlet 를 설정 합 니 다.페이지 코드 는 다음 과 같 습 니 다:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>a.loginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.테스트 페이지
마지막 으로 실행 효 과 를 보고 실행 을 선택 하 며 어떤 버 전의 tomcat 시작 을 선택 하 십시오.페이지 효 과 는 다음 과 같 습 니 다:
5.데이터 원본 설정
(1)데이터베이스 만 들 기
my sql 데이터 베 이 스 를 열 고 새 데이터 베 이 스 를 만 듭 니 다.여 기 는 login 데이터베이스 라 고 명명 되 어 데이터베이스 에 표 login 을 만 들 고 username 과 password 필드 를 설정 합 니 다.데이터베이스 의 디자인 표 는 다음 과 같다.
위의 그림 에서 id 를 메 인 키 로 하여 데이터 베 이 스 를 최소 두 번 째 범례 의 요구 에 부합 하 게 합 니 다.그 중에서 username 과 password 필드 는 login 표 에 있 는 독특한 필드 이기 때문에 이 표 는 세 번 째 범례 의 요구 에 부합 합 니 다.
다음은 login 표 에 데 이 터 를 입력 합 니 다.이 예 의 데 이 터 는 다음 과 같 습 니 다.
(2)데이터베이스 연결
MyEclipse 에 데이터 베 이 스 를 연결 합 니 다.JDBC 드라이브 를 불 러 오 는 방법 으로 데이터 베 이 스 를 연결 합 니 다.먼저 mysql 의 드라이버 를 다운로드 하고,다음 에 mysql 의 jar 패 키 지 를 우리 프로젝트 에 가 져 와 야 합 니 다.패키지 자원 관리자 에서 JRE 시스템 라 이브 러 리 를 오른쪽 단추 로 눌 러 서 구조 경로-구축 경로 옵션 설정,팝 업 된 자바 구축 경로 옵션 을 선택 하고,외부 JAR(X)단 추 를 추가 하여 mysql.jar 파일 을 불 러 옵 니 다.
다음은 프로젝트 에 DBUtil.java 파일 을 새로 만 들 고 mysql 데이터 베 이 스 를 연결 합 니 다.데이터 베 이 스 를 연결 하 는 원 리 를 생략 합 니 다.DBUtil.java 파일 의 원본 코드 는 다음 과 같 습 니 다.원본 코드 의 데이터베이스 이름과 my sql 에 연 결 된 사용자 이름 비밀번호 등 정 보 를 변경 하 십시오.
package a;
import java.sql.*;
public class DBUtil {
boolean bInited = false;
//
public void initJDBC() throws ClassNotFoundException {
// MYSQL JDBC
Class.forName("com.mysql.jdbc.Driver");
bInited = true;
System.out.println("Success loading Mysql Driver!");
}
public Connection getConnection() throws ClassNotFoundException,
SQLException{
if(!bInited){
initJDBC();
}
// URL jdbc:mysql// /
// 2
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/ "," "," ");
return conn;
}
public boolean loginSuccess(String userName,String password){
boolean returnValue = false;
String sql = "SELECT * FROM login";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
String userNameInDB = rs.getString("username");
String passwordInDB = rs.getString("password");
if(userNameInDB.equals(userName) &&
passwordInDB.equals(password)){
returnValue = true;
break;
}
}
}catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
return returnValue;
}
}
위의 loginSuccess()방법 에 서 는 데이터베이스 에서 사용자 이름과 비밀번호 가 들 어 오 는 매개 변수 username,password 와 일치 하 는 상황 을 찾 는 데 사 용 됩 니 다.일단 찾 으 면 true 결 과 를 되 돌려 줍 니 다.(3)Servlet 비 즈 니스 논리 수정
loginServlet.자바 파일 의 업무 논 리 를 수정 하고 데이터 베 이 스 를 연결 하 는 문 구 를 추가 합 니 다.그 중에서 주요 페이지 전환 논 리 는 doPost()방법 에 적 혀 있 고 수 정 된 doPost()방법 은 다음 과 같다.
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
String userName = request.getParameter("username");//
String password = request.getParameter("password");//
DBUtil db = new DBUtil();//
boolean canLogin = db.loginSuccess(userName, password);
if(canLogin){// ,
response.sendRedirect("index.jsp");
}else{
response.sendRedirect("login.jsp");
}
}
(4)테스트 페이지디 버 깅 후의 페이지 효 과 는 다음 과 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
검색 사이트를 만들었으므로 정리해 보았습니다 1■목차 · 처음에 · 사이트 구성 · DB 구성 ・테이블 내용 ・급제점 ■ 처음에 Jsp·서블릿을 학습해, 뭔가 만들려고 생각했기 때문에 스포츠 짐의 검색 사이트를 만들어 보았다. 현재의 스포츠 체육관 검색 사이트는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.