์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- SQL
- @PreAuthorize("isAuthenticated()")
- ์ธํ ๋ฆฌ์ ์ด Web ์ ํ๋ฆฌ์ผ์ด์
- java
- SQLํ๋
- spring ๊ฒ์ํ ์ญ์
- ๋น๊ต ์ฐ์ฐ์
- SpringSecurity ๋ก๊ทธ์์
- ๋ ผ๋ฆฌ ์ฐ์ฐ์
- ์๋ณ์
- SpringSecurity ๋ก๊ทธ์ธ
- SQL ํ๋
- ์น์ ํ SQL
- ์คํ๋ง์ํ๋ฆฌํฐ ๋ก๊ทธ์์
- ์ค๋ฒ๋ก๋ฉ
- ์ดํด๋ฆฝ์ค ์ค์น
- ์ค๋ฒ๋ผ์ด๋ฉ
- ์ฐ์ฐ์
- ๊ฐ์ฒด์งํฅ
- ๋ฐฐ์ด
- join
- ์น์ ํ SQL ํ๋
- ํจ์
- ์ฐ์ ์ฐ์ฐ์
- ์์ฝ์ด
- ๊ฐ์ฒด
- ์์
- StringBuffer
- ์๋ฐ์์ ์
- ๋ฐ๋ณต๋ฌธ
Archives
- Today
- Total
gi_dor
์ธ๋ฏธ ํ๋ก์ ํธ - ๋ก๊ทธ์ธ , ์ธ์ ๋ค๋ฃจ๊ธฐ ๋ณธ๋ฌธ
728x90
๐ธ ํ๋ก์ ํธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
User ์ Seller 2๊ฐ์ ๋ก๊ทธ์ธ๋ฐฉ์
// vo.Users
public class Users {
private int no;
private String id;
private String pwd;
private String name;
private String email;
private String tel;
private String delYn;
private Date updateDate;
private Date regDate;
private String zipcode;
private String address;
private String bname;
private String detailed;
private String userImgPath;
// ์์ฑ์
// getter
// setter
}
public class Seller {
Integer no;
String id;
String password;
String name;
String tel;
String email;
Date regDate;
Date updateDate;
String delYn;
Integer rsnNo;
// ์์ฑ์
// getter
// setter
}
LoginUserDTO.java
public class LoginUser {
private int no;
private String id;
private String name;
private String type;
// ์์ฑ์
// getter
// setter
}
- String type์ ์ถ๊ฐํ์ต๋๋ค
- ๋ก๊ทธ์ธ ์์ "seller" , "user" ๋ก ์ฌ์ฉ์์ ํ๋งค์ ๊ตฌ๋ถํ ์ฉ๋ ์
๋๋ค
SellerLoginForm.jsp
<form class="border bg-light p-3 mx-auto" method="post" action="SellerLogin.jsp" onsubmit="checkForm(event)">
<div id="welcomeBox">
<h2 id="welcomeTitle">would YOU</h2>
<h3 id="welcomeContent"> ํ๋งค์ ๋ก๊ทธ์ธ ํ์ด์ง์ ์ค์ ๊ฑธ ํ์ํฉ๋๋ค </h3>
</div>
<div class="form-group mb-3">
<label class="form-label">ID</label>
<input type="text" class="form-control" name="id" id="inputId">
</div>
<div class="form-group mb-3">
<label class="form-label">PassWord</label>
<input type="password" class="form-control" name="password" id="inputPassword">
</div>
<div class="text-end d-grid gap-2 col-6 mx-auto">
<button type="submit" class="btn btn-dark">Login</button>
</div>
<hr>
</form>
SellerLoginForm.jsp๋ด์ form ํ๊ทธ action ์ผ๋ก SellerLogin.jsp๋ก ๋ณด๋ธ๋ค.
๋๊ฒจ ์ง๋ ๊ฐ์ name=" " ์ ์ํ๋ค
<%
/*
๋ก๊ทธ์ธ ์ฒ๋ฆฌ
1. ์์ฒญ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ฐ์ id์ password ์กฐํ
2. id๋ก ์ฌ์ฉ์ ์ ๋ณด ์กฐํ
2-1. ์ฌ์ฉ์ ์ ๋ณด๊ฐ ์กด์ฌํ์ง ์๋๋ค - > ํ์๊ฐ์
ํ์ง ์์ loginform.jsp?error=fail
2-2. ์ฌ์ฉ์ ์ ๋ณด๊ฐ ์กด์ฌํ์ง๋ง ํํดํ ์ฌ์์ด๋ค - loginform.jsp?error=deleted
2-3. ์ฌ์ฉ์ ์ ๋ณด๋ ์กด์ฌํ์ง๋ง ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์๋๋ค - loginform.jsp?error=fail
3. ์ฌ์ฉ์ ์ ๋ณด๊ฐ ์กด์ฌํ๊ณ ๋น๋ฐ๋ฒํธ๋ ์ผ์นํ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์ธ ์ฒ๋ฆฌํ๋ค
*/
// ์์ฒญ ํ๋ผ๋ฏธํฐ ์ ๋ฌ๋ฐ์ ๊ฐ
String id = request.getParameter("id");
String password = request.getParameter("password");
// CRUD๊ธฐ๋ฅ ์๋ DAO ์์ฑ
SellerDao sellerDao = new SellerDao();
// DAO์ getSellerById๋ฅผ ์คํํด์ ํด๋นํ๋ ์์ด๋์ ์ ๋ณด ์กฐํ
Seller savedSeller = sellerDao.getSellerById(id);
// Session ๊ฐ์ฒด์ ๋ด๊ธฐ
// ๊ธฐ์กด์๋ ์ธ์
์ 2๊ฐ๋ก ๋๋ ์ ํ๋งค์ , ๊ตฌ๋งค์ 2๊ฐ์ ์ธ์
์ผ๋ก ๋ค๋ค๋๋ฐ ๊ฐ๋ ์์กํ๊ณ ํ๋ค์ด์
// ๋ก๊ทธ์ธ ์ธ์
์ 1๊ฐ๋ก ํตํฉํด์ ๊ด๋ฆฌํ๋ ค๊ณ ํ๋ค.
LoginUser loginUser = new LoginUser();
loginUser.setNo(savedSeller.getNo());
loginUser.setName(savedSeller.getName());
loginUser.setId(savedSeller.getId());
loginUser.setType("seller");
session.setAttribute("LOGIN_USER", loginUser);
response.sendRedirect("/index.jsp");
%>
1. action์ํตํด SellerLogin.jsp ๋ก ๋์ด์จ ์์ฒญ ๊ฐ์ ์กฐํํด๋ณด๋ค
// ๋ก๊ทธ์ธํผ ํ๋ฉด์์ ์
๋ ฅํ id ๊ฐ๊ณผ , ๋น๋ฐ๋ฒํธ ๊ฐ์ ๋ด์
String id = request.getParameter("id");
String password = request.getParameter("password");
2. SellerDao ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค
SellerDao sellerDao = new SellerDao();
3. XML , DAO
XML
<sqlMap namespace="sellers">
<select id ="getSellerById" parameterClass="string" resultClass="vo.Seller">
select
seller_no as no,
seller_id as id,
seller_pw as password,
seller_name as name,
seller_tel as tel,
seller_email as email,
seller_reg_date as regDate,
seller_update_date as updateDate,
seller_del_yn as delYn,
del_rsn_no as rsnNo
from seller
where
seller_id = #value#
</select>
</sqlMap>
DAO
public class SellerDaopublic class SellerDao {
// iBatis ์ฌ์ฉ
private SqlMapClient ibatis = IbatisUtil.getSqlMapClient();
/**
* ์ฃผ์ด์ง id๋ก ํด๋น id์ ์ ๋ณด๋ฅผ ์กฐํํ๋ค
* @methodNamd : getAllServices
* @param id : id
* @author : Han Gi Seon
* @date : 2024.02.04
* @return
* @throws SQLException
*/
public Seller getSellerById(String id) throws SQLException {
Seller seller = (Seller) ibatis.queryForObject("sellers.getSellerById",id);
return seller;
}
}
4. DAO ๋ฅผ ์ฌ์ฉํด ์์ด๋ ์ ๋ณด๋ฅผ ์กฐํ
// DAO์ getSellerById๋ฅผ ์คํํด์ ํด๋นํ๋ ์์ด๋์ ์ ๋ณด ์กฐํ
Seller savedSeller = sellerDao.getSellerById(id);
5. Session ๊ฐ์ฒด์ ๋ด๊ธฐ
// setType ์ "seller"๋ก ์ง์ ์ค์
LoginUser loginUser = new LoginUser();
loginUser.setNo(savedSeller.getNo());
loginUser.setName(savedSeller.getName());
loginUser.setId(savedSeller.getId());
loginUser.setType("seller");
session.setAttribute("LOGIN_USER", loginUser);
response.sendRedirect("/index.jsp");
setType์ "seller" ๋ก ์ค์ ํด์ ํด๋น ๋ก๊ทธ์ธ์ด Seller ์ธ๊ฒ์ ๋ช
์ํ๋ค
"user" ๋ก ํ๋ค๋ฉด User ์ฌ์ฉ์ ์ธ๊ฒ์ ๋ช
์
6. ๋ก๊ทธ์ธ ํํฐ๋ง
// ์์ด๋์ ํด๋นํ๋ Seller ์ ๋ณด๊ฐ ์กด์ฌํ๋์ง ์ฒดํฌ
if(savedSeller == null ) {
response.sendRedirect("SellerLoginForm.jsp?error=fail");
return;
}
// ์ฌ์ฉ์๊ฐ ํํดํ๋์ง ์ฒดํฌ
if("Y".equals(savedSeller.getDelYn())) {
response.sendRedirect("SellerLoginForm.jsp?error=deleted");
return;
}
// ์ฌ์ฉ์ ์ ๋ณด๋ ์กด์ฌ ํ๊ณ ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ๋์ง ์ฒดํฌ
String shaPassword = DigestUtils.sha256Hex(password);
if(!savedSeller.getPassword().equals(shaPassword)) {
response.sendRedirect("SellerLoginForm.jsp?error=fail");
return;
}
728x90
'Back_End > JSP_Servlet' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Redirect , Forward (0) | 2024.03.11 |
---|---|
FrontController - ๊ฐ๋จ (0) | 2024.02.14 |
[Web] MVC ํจํด - Model1 Model2 (1) | 2024.02.14 |
JSP ๊ฐ๋ (1) | 2024.01.07 |
์ธํ ๋ฆฌ์ ์ด์์ Web ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ (1) | 2024.01.01 |