Notice
Recent Posts
Recent Comments
Link
반응형
이로
JSP 로그인 만들기 + 쿠키를 이용하여 id저장하 본문
반응형
id , pwd 를 입력할 수 있도록 하고, id 기억하기를 누르면 재 방문시 기존에 입력했던 id를 저장하도록 한다.
login.jsp / LoginAction.java / index.jsp 로 이루어져있다.
로그인 성공시 login.jsp-> index.jsp
로그인 실패시 login.jsp-> login.jsp에서 재 입력하도록 하게 한다.
login.jsp
<%@ 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>
<!-- 쿠키값으로 id정보 받아오기 -->
<%String cookie = "";
Cookie[] cookies = request.getCookies(); //쿠키생성
if(cookies !=null&& cookies.length > 0)
for (int i = 0; i < cookies.length; i++){
if (cookies[i].getName().equals("userId")) { // 내가 원하는 쿠키명 찾아서 값 저장
cookie = cookies[i].getValue();}}%>
<form action="/LoginAction" method=post>
id:<input name="id" type=text value="<%=cookie%>"
placeholder="your id."><br> pwd:<input name="pwd"
type=password value="" placeholder="your password."><br>
<input name="checkbox" type=checkbox> id 기억하기 <br> <input
type=submit value="Login">
</form>
</body>
</html>
LoginAction.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginAction") // URL 뒷쪽에 붙는 이름이다. 이 쿼리를 입력하지 않으면 주소와 프로그램과 연결해주지 못한다.
public class LoginAction extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// id, pwd, checkbox 정보 받아오기
String id = request.getParameter("id"); // id 넘어온다.
String pwd = request.getParameter("pwd"); // pwd 넘어온다.
String checkbox = request.getParameter("checkbox");// 체크박스의 체크여부 넘어온다.
response.setCharacterEncoding("UTF-8"); // 한글도 입력 가능하게 하기
PrintWriter out = response.getWriter();
Cookie cookie = new Cookie("userId", id);// 일단 쿠키 생성
System.out.println(checkbox);
if (checkbox != null) { // 체크박스 체크여부에 따라 쿠키 저장 확인
// 체크박스 체크 되었을 때
// 쿠키 저장
response.addCookie(cookie);
} else {
// 체크박스 체크 해제되었을 때
// 쿠키 유효시간 0으로 해서 브라우저에서 삭제하게 한다.
cookie.setMaxAge(0);
response.addCookie(cookie);
}
// id , pwd 에 null 체크 반드시 하기
if ((id != null) && (pwd != null)) {
if (id.equals("asdf") && pwd.equals("1234")) { // 로그인 성공시
// id 와 pwd가 일치하는 경우 index.jsp로 이동 경로설정 주의!! context 값 / 으로해놓았다.
response.sendRedirect("/index.jsp");
} else { // 로그인 실패시
// 로그인 실패시 바로 login 화면으로 돌아가게하기
response.sendRedirect("/login.jsp");
}
}
}
}
index.jsp
<%@ 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>
index 입니다.
<a href="/login.jsp">Login</a>
</body>
</html>
반응형
'컴퓨터 > 과제' 카테고리의 다른 글
JSP 로그인 요청한 곳으로 가게하기 (0) | 2019.06.21 |
---|---|
JS 체크박스 만들어보기 (+ jQuery구문으로 바꿔보기) (0) | 2019.06.19 |
JS select의 option 옮기기 (0) | 2019.06.18 |
짝 맞추기 게임 만들기 (0) | 2019.06.16 |
Comments