안녕하세요~ <div><br></div> <div>초보개발자가 질문 좀 드립니다 ^^;;</div> <div><br></div> <div>사용하는법은 대충 아는데.. 아무래도 로직상 이해가 안되어서 질문을 올립니다.</div> <div><br></div> <div><br></div> <div>서블릿에서 자바코드로 session을 사용할떄는.</div> <div><br></div> <div>HttpSession session = request.getSession(); </div> <div><br></div> <div>이런식으로 생성해서 사용을 하잖아요.</div> <div><br></div> <div><br></div> <div>JSP에서는</div> <div><br></div> <div>session 내장변수를 이용하구요.</div> <div><br></div> <div><br></div> <div>질문드릴점은.</div> <div><br></div> <div>jsp에서 세션에 로그인체크를 하지 않을시,</div> <div><br></div> <div>해당 서블릿을 호출하면, index페이지로 이동을 합니다.</div> <div><br></div> <div>그리고 jsp내장변수 이용해서 확인하는거 추가하면 이동이 안됩니다 ^^;;</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><div class="colorscripter-code" style="color:#f0f0f0;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"> <table class="colorscripter-code-table" style="margin:0px;padding:0px;border:none;background-color:#272727;" cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:6px;border-right-width:2px;border-right-style:solid;border-right-color:#4f4f4f;"> <div style="margin:0px;padding:0px;text-align:right;color:#aaaaaa;line-height:130%;"> <div style="line-height:130%;">1</div> <div style="line-height:130%;">2</div> <div style="line-height:130%;">3</div> <div style="line-height:130%;">4</div> <div style="line-height:130%;">5</div> <div style="line-height:130%;">6</div> <div style="line-height:130%;">7</div> <div style="line-height:130%;">8</div> <div style="line-height:130%;">9</div> <div style="line-height:130%;">10</div> <div style="line-height:130%;">11</div> <div style="line-height:130%;">12</div> <div style="line-height:130%;">13</div> <div style="line-height:130%;">14</div> <div style="line-height:130%;">15</div> <div style="line-height:130%;">16</div> <div style="line-height:130%;">17</div> <div style="line-height:130%;">18</div> <div style="line-height:130%;">19</div> <div style="line-height:130%;">20</div> <div style="line-height:130%;">21</div> <div style="line-height:130%;">22</div> <div style="line-height:130%;">23</div> <div style="line-height:130%;">24</div> <div style="line-height:130%;">25</div> <div style="line-height:130%;">26</div> <div style="line-height:130%;">27</div> <div style="line-height:130%;">28</div> <div style="line-height:130%;">29</div> <div style="line-height:130%;">30</div> <div style="line-height:130%;">31</div></div></td> <td style="padding:6px 0px;"> <div style="margin:0px;padding:0px;color:#f0f0f0;line-height:130%;"> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#ff3399;">else</span> <span style="color:#ff3399;">if</span>(Link.<span style="color:#4be6fa;">equals</span>(<span style="color:#ffd500;">"Login.do"</span>)){</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">// Check Servlet Call</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> site <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> <span style="color:#ffd500;">"Login"</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> } <span style="color:#ff3399;">else</span> <span style="color:#ff3399;">if</span>(Link.<span style="color:#4be6fa;">equals</span>(<span style="color:#ffd500;">"Login_s.do"</span>)){</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">// View 호출</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> site <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> <span style="color:#ffd500;">"board/Main_board.jsp"</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> login_chk <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> <span style="color:#c10aff;">true</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">//비정상적인 접근 막기</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#ff3399;">if</span>(login_chk){</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> HttpSession session <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> request.getSession(); <span style="color:#999999;">//1.세션 객체 생성</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> MemberBean bean <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> (MemberBean)session.getAttribute(<span style="color:#ffd500;">"bean"</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">//로그인 여부 확인</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#ff3399;">if</span>(bean <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span><span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> <span style="color:#4be6fa;">null</span> <span style="color:#0086b3;"></span><span style="color:#ff3399;">|</span><span style="color:#0086b3;"></span><span style="color:#ff3399;">|</span> bean.isLogin() <span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span><span style="color:#0086b3;"></span><span style="color:#ff3399;">=</span> <span style="color:#c10aff;">false</span>){</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">//잘못된 접근(로그인 안하고, URL호출한거임.)</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> response.sendRedirect(<span style="color:#ffd500;">"Index.jsp"</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">//메소드 종료</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#ff3399;">return</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div></div> <div style="text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic;"><a target="_blank" href="http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f;text-decoration:none;">Colored by Color Scripter</a></div></td> <td style="vertical-align:bottom;padding:0px 2px 4px 0px;"><a target="_blank" href="http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:#FFFFFF;"><span style="font-size:9px;padding:1px;background-color:#4f4f4f;">cs</span></a></td></tr></tbody></table></div></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>처음에는 위에처럼 작성했습니다.</div> <div>작성하고, 아 이제 저 서블릿 호출했을때, 비 로그인시 무조건 Index를 가겠구나 . -> 이건 당연.</div> <div><br></div> <div>그런데 문제가 생깁니다 ^^; </div> <div>엇 로그인을 해보고, 해당 라는 서블릿을 호출하면.. <span style="color:#ffd500;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;line-height:15.6px;white-space:pre;font-size:9pt;background-color:#272727;">Login_s.do </span><span style="font-size:9pt;line-height:1.5;">헝 왜 인덱스로 가지?? 세션에 값이 유지되어야하는거아닌가??</span></div> <div><br></div> <div><br></div> <div><br></div> <div>그러던중..</div> <div>JSP페이지에..</div> <div><br></div> <div><div><% </div> <div><br></div> <div>request.setCharacterEncoding("UTF-8");</div> <div><br></div> <div>MemberBean bean = (MemberBean)session.getAttribute("bean");</div> <div><br></div> <div>if(bean.isLogin() == false){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>String site = request.getContextPath();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>response.sendRedirect(site + "/Index.jsp");<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div>}</div> <div><br></div> <div>%></div></div> <div><br></div> <div>이 코드를 추가하니 -_- 안넘어가지고, 잘 막히는데..</div> <div>이 로직이 이해가 안되어요...ㄷㄷㄷㄷㄷㄷㄷ</div> <div>제가 질문을 너무 복잡하게 한건 아닌지 모르겠네요 ㅠㅠ</div> <div><br></div> <div><br></div> <div><br></div>