login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ko">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-darkness/jquery-ui.css" type="text/css" media="all" />
<script src="/js/jquery-1.8.3.min.js"></script>
<script src="/js/jquery.form.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#layer_ajax").hide();
$("#layer_ajax").ajaxStart(function(){
$("#wait").css("display","block");
});
$("#layer_ajax").ajaxComplete(function(){
$("#wait").css("display","none");
});
$("#layer_ajax").ajaxError(function(){
alert("통신 애러");
});
$(".btn-login").click(function(e){
//아래 코드 실행
dataString = $("#login").serialize();
//form 과 직렬화..
$.ajaxSetup({
url:"/login/login_proc.jsp",
data : dataString, // 넘겨질 데이타
type: "POST",
success:function(result) {
var arr_data = result.split("*");
var data1= arr_data[0];
var data2= arr_data[1];
if(trim(data1) == null || trim(data1) =="" ){
// 받아온 결과가 없으면 아무 작업 안함
}else{
location.href=data1;
}
// 받아온 메세지 전달 (실패 메세지..)
$("#layer_ajax").html(data2);
// 실패면 패스워드 데이타 지우고 포커스 이동
$("input[name=password]").val('');
$("input[name=password]").focus();
}
});
$.ajax();
$("#layer_ajax").show();
});
});
// 공백 제거
function trim(txt)
{
return txt.replace(/(^\s*)|(\s*$)/g, "");
}
</script>
</head>
<body>
<form id ="login" >
<!-- 로그인 전에 url 을 전달하기 위해 히든으로 url 받아둔다 -->
<input type="hidden" name="redirectURI" value="<%=(request.getAttribute("redirectURI"))==null?"/":request.getAttribute("redirectURI")%>" >
<fieldset class="login-form">
<p class="chk-p"><input type="radio" class="screen-out">
<label for="" class="label-point"><span class="ir radio-box active"></span>개인회원</label><input type="radio" class="screen-out">
<label for="" class="label-point"><span class="ir radio-box active"></span>법인회원</label></p>
<p class="input"><input type="text" name="user" class="input-text"></p>
<p class="input"><input type="password" name="password" class="input-text"></p>
<button type="button" class="btn-login">로그인</button>
<div id="layer_ajax"></div>
<p class="chk-p"><input type="checkbox" class="screen-out"><label for="" class="label-point"><span class="ir check-box active"></span>아이디 저장</label></p>
</fieldset>
</form>
</body>
</html>
login_proc.jsp
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
// 로그인 정보 설정
String userID="";
String userPWD="";
String userLevel="";
String loginMsg = "";
String redirectURI ="";
String level ="";
// login.jsp로부터 form data를 받는다
String id = request.getParameter("user");
String pwd = request.getParameter("password");
String member_select_query="select userid,level,userpw from Member where userid=\'"+id+"\'and userpw = \'"+pwd+"\';";
try {
ResultSet member_info = stmt.executeQuery(member_select_query);
while(member_info.next())
{
userID=member_info.getString("userid");
userLevel=member_info.getString("level");
userPWD = member_info.getString("userpw");
}
}
catch(Exception e)
{
out.println("[ERROR] "+e.getMessage());
}
// id, pwd가 맞을 경우 실행
if(userID.equals(id) && userPWD.equals(pwd))
{
session.setAttribute("s_Level",userLevel);
session.setAttribute("s_Id", userID);
loginMsg ="성공";
//response.sendRedirect("./main.jsp"); // main.jsp 에 session 정보를 보낸다
redirectURI = request.getParameter("redirectURI");
}
else
{
loginMsg ="로그인 실패";
// response.sendRedirect("./main.jsp");
}
%>
<!-- * 로 구분하여 다중 메세지 전송 -->
<%=redirectURI%>*<%=loginMsg%>
login_check.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String checkLevel = "";
String checkId = "";
checkLevel = (String)session.getAttribute("s_Level");
if(checkLevel == null) // 세션이 없으면 로그인 페이지 이동
{
String login_url = "/pages/login/login.jsp"; //로그인페이지
request.setAttribute("redirectURI", request.getRequestURI());
RequestDispatcher dispatcher = request.getRequestDispatcher( login_url );
dispatcher.forward(request, response);
}
checkId = (String)session.getAttribute("s_Id");
%>
로그인이 필요한곳에 파일 인쿠르드
<%@include file="/login/login_check.jsp" %>
':::: 개발 :::: > └ JSP & SPRING' 카테고리의 다른 글
JSP split + matches (정규식) 활용 (0) | 2014.03.19 |
---|---|
JSP 변수 널 체크 + 숫자 타입 체크 (0) | 2014.03.18 |
jquery 체크 박스 제어 - checkbox dynamic disabled (0) | 2014.02.05 |
bean property name 은 SET 과 맵핑 (0) | 2014.01.09 |
jsp selectbox 선택 (0) | 2013.11.25 |
jsp 업로드 디렉토리 상위 까지 생성 (0) | 2013.11.20 |
applicationContext.xml 주석.. (0) | 2013.06.25 |
JSTL li 순서별 클래스 적용 예 (0) | 2012.12.11 |