728x90
728x90
BIG
테이블 생성
create table member(
id varchar2(20) primary key,
pwd varchar2(20) not null,
name nvarchar2(10) not null,
mobile varchar2(20),
regDate date default sysdate
);
insert into member values('sugyungeeJJang','1234','홍길동',null,sysdate);
insert into member values('sumineeJJang','1234','이수민',null,sysdate);
insert into member values('hyejineeJJang','1234','장혜진','010-0000-8887',sysdate);
insert into member values('dddd','1234','홍길동',null,sysdate);
commit;
select * from member;
--로그인
로그인 화면 만들기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="dbLogin.jsp" method="post">
<table>
<tr>
<%!String id = null;
String pwd = null;%>
<td>아이디:</td>
<td><input type=text value="<%=id%>" name="id"></td>>
</tr>
<td>암 호:</td>
<td><input type=password value="<%=pwd%>" name="pwd"></td>>
</tr>
<tr>
<td colspan=2 align="center"><input type=submit></td>
</tr>
</table>
</form>
</body>
</html>
VO
package member;
import java.sql.Date;
public class MemberVO {
private String id;
private String pwd,name, mobile;
private Date regDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public Date getRegDate() {
return regDate;
}
public void setRegDate(Date regDate) {
this.regDate = regDate;
}
public MemberVO() {
super();
// TODO Auto-generated constructor stub
}
public MemberVO(String id, String pwd, String name, String mobile, Date regDate) {
super();
this.id = id;
this.pwd = pwd;
this.name = name;
this.mobile = mobile;
this.regDate = regDate;
}
@Override
public String toString() {
return "MemberVO [id=" + id + ", pwd=" + pwd + ", name=" + name + ", mobile=" + mobile + ", regDate=" + regDate
+ "]";
}
}
로그인할 수 있는 DAO
package member;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MemberDAO {
//객체생성
static {
try {
Class.forName("oracle.jdbc.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();System.exit(0); }
}
private static MemberDAO dao = null;
public MemberDAO() {
}
public static MemberDAO getInstance() {
if(dao == null) {
dao = new MemberDAO();
}
return dao;
}
private Connection getConnection() {
Connection conn = null;
String url = "jdbc:oracle:thin:@localhost:1521:xe";;
try {
conn=DriverManager.getConnection(url,"JAVADB","1234");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public void close(Connection conn, PreparedStatement pstmt) {
try {
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();System.exit(0);
}
}
public void close(ResultSet rs,Connection conn, PreparedStatement pstmt) {
try {
if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();System.exit(0);
}
}
//로그인 select method;
public MemberVO login(String id, String pwd) {
Connection conn = this.getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
MemberVO vo = null;
sql = "select * from member where id=? and pwd = ?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, pwd);
rs = pstmt.executeQuery();
if(rs.next())
vo = new MemberVO(rs.getString("id"), rs.getString("pwd"),
rs.getString("name"), rs.getString("mobile"),
rs.getDate("regdate"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
this.close(rs, conn, pstmt);
} return vo;
}
}
로그인 성공 돌리기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="member.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>하이하이</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
// 이전페이지에서 넘긴 데이터는 getparameter로 넘김(결과값 String)
MemberDAO dao= MemberDAO.getInstance();
MemberVO vo = dao.login(id, pwd);
if(vo==null){
// out.print("아이디 또는 비밀번호가 일치하지 않습니다.");
response.sendRedirect("loginForm2.jsp");
//다시 돌아감 loginForm2.jsp로
}
else{//로그인성공
response.sendRedirect("memberMain.jsp?id="+id);
//이러면 아이디를 전송이 가능하다.
}
%>
</body>
</html>
방법2
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="member.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>하이하이</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
// 이전페이지에서 넘긴 데이터는 getparameter로 넘김(결과값 String)
MemberDAO dao= MemberDAO.getInstance();
MemberVO vo = dao.login(id, pwd);
if(vo==null){
// out.print("아이디 또는 비밀번호가 일치하지 않습니다.");
response.sendRedirect("loginForm2.jsp");
//다시 돌아감 loginForm2.jsp로
}
else{//로그인성공
//response.sendRedirect("memberMain.jsp?id="+id);
//이러면 아이디를 전송이 가능하다.
RequestDispatcher rd=request.getRequestDispatcher("memberMain.jsp");
//안에 가야할 곳을 입력해야함
rd.forward(request, response);//넘겨주기
}
%>
</body>
</html>
방법3
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="member.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
MemberDAO dao=MemberDAO.getInstance();
//이전 페이지에서 get,post 방식으로 전송한 데이터는 getPrameter사용> String
String id=request.getParameter("id");
String pwd=request.getParameter("pwd");
MemberVO vo=dao.login(id, pwd);
if(vo==null){//로그인 실패 : 아이디나 비번 틀린경우
response.sendRedirect("loginForm2.jsp");
}else{//로그인 성공
// response.sendRedirect("memberMian.jsp");//null
// response.sendRedirect("memberMian.jsp?id="+id);
request.setAttribute("vo", vo);
RequestDispatcher rd=request.getRequestDispatcher("memberMain.jsp");
rd.forward(request, response);
}
%>
</body>
</html>
로그인후 화면
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>메인 화면</title>
</head>
<body>
<%
String id =request.getParameter("id");
%>
<%=id %>님 환영합니다.<br>
즐거운시간되세요
</body>
</html>
방법3 메인
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="member.MemberVO" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>메인 화면</title>
</head>
<body>
<%
String id =request.getParameter("id");
MemberVO vo = (MemberVO)request.getAttribute("vo");
request.getAttribute("vo");
//getPara는 string을 돌려주고
//getAttri는 object를 돌려주기때문에
//다운 캐스팅을 해줘야함
%>
<%=vo.getName() %>님 환영합니다.<br>
즐거운시간되세요
</body>
</html>
728x90
반응형
BIG
'🎵JSP' 카테고리의 다른 글
[JSP]설문조사form - include (0) | 2023.02.09 |
---|---|
[JSP]setCharacterEncoding,sendRedirect (0) | 2023.02.09 |
[JSP] 여러가지 문장 연습해보기 (0) | 2023.02.08 |
[JSP]레스폰스에 뭐가 넘어오는지 확인해보기 (0) | 2023.02.07 |
[JSP]jsp로 디비 연결해서 띄워보기 (0) | 2023.02.07 |
댓글