<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login.jsp" method="post">
<fieldset>
<legend>로그인</legend>
아 이 디 :<input type="text" name="id" id="id" placeholder="아이디를 입력하세요">
<br>
<input type="submit" value="로그인">
</fieldset>
</form>
</body>
</html>
member table
value(id,name)
member 테이블 생성후 데이터 값을 넣어준다 (admin,관리자)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.lang.ProcessBuilder.Redirect" %>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<%
//외부접속 막기
if(request.getHeader("referer")==null)
response.sendRedirect("login.html");
//객체 초기화
Connection conn =null;
String sql ="SELECT * FROM member";
PreparedStatement pstmt=null;
ResultSet rs = null;
String id =(String)request.getParameter("id");
//연결이 성공하면 처리되는 경우
try{
Context init = new InitialContext();
DataSource ds =(DataSource)init.lookup("java:comp/env/jdbc/mariaDB");
conn=ds.getConnection();
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
if(id !=null&& id.equals(rs.getString(1))){
session.setAttribute("id", id);
session.setAttribute("name", rs.getString(2));
response.sendRedirect("member.jsp");
}
if(rs.next() == false){
response.sendRedirect("login.html");
//데이터를 불러왔으면 트루 불러올게 없으면 false;
}
}
//오류가 나면 처리 되는 구문 (false)
}catch(Exception e){
out.println("<h3>레코드 등록실패</h3>");
e.printStackTrace();
}
//true false상관없이 실행되는 구문
finally{
try{
rs.close();
pstmt.close();
conn.close();
//close해주지 않으면 데이터 손실이 일어날수있다.
}
catch(Exception e){
e.printStackTrace();
}
}
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
if(request.getHeader("referer") == null)
response.sendRedirect("login.html");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=(String)session.getAttribute("name") %>님 반갑습니다.
<button onclick="location.href='logout.jsp';">logout</button>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
if(request.getHeader("referer")==null){
response.sendRedirect("login.html");
}else{
session.removeAttribute("id");
response.sendRedirect("login.html");
}
%>
칼럼을 추가하고 데이터값을 추가로 넣어준다.
alter table member
add level
int(11);
insert into member(id,name,level)values('admin','관리자',0), ('cat','야옹이',1),('dog','멍멍이',2);
login.jsp -> level value받을 곳을 추가해준다
member.jsp
아이디 <%=(String)session.getAttribute("id") %> (<%=(String)session.getAttribute("name") %>님) 반갑습니다.
레벨:<%=(Integer)session.getAttribute("level") %>