728x90
🟦 48강. 회원 가입 처리
▶️ 회원 가입 처리하기
- 애플리케이션에서 입력한 회원 정보를 서버로 전달하여 서버/DB에 저장하는 작업을 처리한다.
🟧 connector 역할
◾ C드라이브 - Program Files(x86) - MySQL -Connector J 8.0 → mysql-connector-java…jar 파일
→ 이클립스의 webapp의 lib 폴더에 복사하여 붙여넣어준다.
🟧 이클립스 jsp 파일에서 데이터 추출 작업
◾ join_user.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<%
//클라이언트가 전달하는 데이터의 한글 인코딩 설정
request.setCharacterEncoding("utf-8");
//클라이언트가 전달한 데이터 추출 작업
String userId = request.getParameter("user_id");
String userPw = request.getParameter("user_pw");
String userNickName = request.getParameter("user_nick_name");
//우선 단순 출력시켜보기
System.out.println(userId);
System.out.println(userPw);
System.out.println(userNickName);
%>
🟧 안드로이드에 OkHttp 라이브러리 세팅 작업
◾ 1) build.gradle 에 dependency 추가
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
◾ 2) AndroidManifest.xml에 다음을 추가
android:usesCleartextTraffic="true"
<uses-permission android:name="android.permission.INTERNET"/>
◾ 3) NickNameFragment.kt 에 thread{}로 다음 코드 추가
thread{
val client = OkHttpClient()
val site = "http://172.30.1.27:8080/App3_CommunityServer/join_user.jsp"
//서버로 보낼 데이터 세팅 - 넘어갈 데이터 변수 이름 일치 시켜주기
val builder1 = FormBody.Builder()
builder1.add("user_id", act.userId)
builder1.add("user_pw", act.userPw)
builder1.add("user_nick_name", act.userNickName)
val formBody = builder1.build()
//Request 생성 - Post 방식으로
val request = Request.Builder().url(site).post(formBody).build()
val response = client.newCall(request).execute()
}
✅ 사용자 입력값이 연결한 서버에 데이터 보내지고 이클립스 콘솔창에 곧바로 출력된다.
🟧 데이터베이스 접속 처리
◾ join_user.jsp
- 여기서 DB 접속 정보 세팅해주고 연동 작업
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<%
//클라이언트가 전달하는 데이터의 한글 인코딩 설정
request.setCharacterEncoding("utf-8");
//클라이언트가 전달한 데이터 추출 작업
String userId = request.getParameter("user_id");
String userPw = request.getParameter("user_pw");
String userNickName = request.getParameter("user_nick_name");
//우선 단순 출력시켜보기
// System.out.println(userId);
// System.out.println(userPw);
// System.out.println(userNickName);
//1) 데이터베이스 접속 정보 세팅 //("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul"
String dbUrl = "jdbc:mysql://localhost:3306/app3_community_db";
String dbId = "root";
String dbPw = "1234";
Class.forName("com.mysql.cj.jdbc.Driver");
//2) 데이터베이스 접속
Connection conn = DriverManager.getConnection(dbUrl, dbId, dbPw);
//3) 쿼리문
String sql = "insert into user_table"
+ "(user_id, user_pw, user_autologin, user_nick_name)"
+ "values (?, ?, 0, ?)";
//4) 쿼리 실행
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userId);
pstmt.setString(2, userPw);
pstmt.setString(3, userNickName);
pstmt.execute();//실행
conn.close(); //DB 접속 종료
%>
◾MySql 데이터베이스에도 가입 정보가 저장된 것을 확인 가능
728x90
'App(앱)_관련 공부 모음 > [강의] Android_App Project' 카테고리의 다른 글
# PRJ_3. 커뮤니티 게시판 앱_(15) 로그인 처리하기 (0) | 2022.08.05 |
---|---|
# PRJ_3. 커뮤니티 게시판 앱_(14) 로그인 기본 처리 - 유효성 검사 (0) | 2022.08.04 |
# PRJ_3. 커뮤니티 게시판 앱_(12) 회원가입 기본 기능-유효성 검사 구현 (0) | 2022.08.03 |
# PRJ_3. 커뮤니티 게시판 앱_(11) Eclipse와 OkHttp라이브러리 (0) | 2022.08.02 |
# PRJ_3. 커뮤니티 게시판 앱_(10) 서버 준비와 DB 생성 (0) | 2022.08.02 |