1. web.xml - 변수 정의 blog

2. application 서버에서 setAttribute로 넣고 ${}              (내용추가해야됨)

3. request는  contextRoot를 들고 있음
request.getContextPath()를 이용하면 루트주소를 알 수 있음, 수정하려면 server.xml에서 하면 됨

ex)  /blog/user?cmd=loginProc 를 <%=request.getContextPath()%>/user?cmd=loginProc

'Web > Jsp' 카테고리의 다른 글

섬머노트(에디터) 추가하기  (1) 2020.06.04
JSP 서블릿 web.xml로 파일접근을 막는 방법  (0) 2020.06.04
JSP 서블릿 아이디 중복확인 체크  (0) 2020.06.03
서블릿 JSP 쿠키 만들기  (0) 2020.06.03
EL 표현식 기초  (0) 2020.06.03

 

join.jsp 중복확인 버튼을 추가

onsubmit을 사용하면 변수를 이용해서 true가 될때에만 전송 가능하다 

 

join.jsp 확인용 자바스크립트 추가

 

 

UsersController

 

UsersRepository

 

UsersUsernameCheckAction

유저이름이 공백일 때를 대비하여 2도 넣어준다

 

결과

 

 

response.addCookie("remember", "ssar")를 사용하면

response의 헤더에 쿠키가 들어가서 전송된다

response.setHeader("Set-Cookie", "remember=ssar")를 이용해서 보낼 수도 있다

request로 받을 때에는  Cookie[] cookies = request.getCookies()로 받을 수 있다

 

 

-

 

EL표현식

<%= %>를  ${ } 로 표현한다

request.getAttribute(변수명) 를 사용하지 않고

${requestScope.변수} 를 이용할 수 있다

변수명이 다르다면 requestScope를 생략 할 수도 있다

변수명이 같다면 

page(가장우선) -> request -> session -> application(가장나중) 순서로 찾는다

requestScope는 생략해도 되고

나머지 스코프는 생략하지말고 적어주자

파라미터로 넘어오는 것은 스코프로는 받아 지지 않음

${param.변수} 를 이용하자

${안에서 연산가능}

${empty param.변수} -> true false 리턴

 

EL표현식은 자동으로 getter를 불러온다.

즉 getter가 없다면 실행되지 않는다.

title 이라는 변수라면 getTitle() 이라는 getter가 무조건 있어야한다 ( getTitle2() 등 이름을 바꾸면 오류남)

 

 

https://blog.naver.com/getinthere/221988358848

 

EL 표현식

elTest1.jspelTest2.jspelTest3.jspelTest4.jspelTest5.jspelTest6.jsp​

blog.naver.com

 

----------------------------------

스코프 별 출력

request와 session에 각각 같은이름의 변수를 추가 한다.

 

elTest2에서 데이터를 받게 되면, 아래와 같이

 

request의 값을 받아오게 된다.

 

---------------------------

 

post 방식으로 데이터를 전송하면,

 

버퍼로 받을 수 있다. (getParameter로도 받을 수 있음)

 

 

 

콘솔창에는 파싱되지 않은 내용이 출력된다.

 

 

 

 

 

Cookie cookie = new Cookie("remember", null);

쿠키 객체를 생성할 때 원래 쓰던 쿠키명과 null을 넣는다

cookie.setMaxAge(0);

해당 쿠키의 만료기간을 0초로 설정하여 바로 없어지도록 함

response.addCookie(cookie);

쿠키객체를 add해준다. (해당쿠키는 사라진다)

 

아이디 저장 버튼의 required를 지워주고 div를 주석처리한다.

 

EL표현식을 사용해본다

null일 경우 값은 들어가지 않는다.

 

테스트

아이디 저장을 클릭하지 않고 로그인시 remember가 사라지는 것을 확인 할 수 있다

'Web > Jsp' 카테고리의 다른 글

서블릿 JSP 쿠키 만들기  (0) 2020.06.03
EL 표현식 기초  (0) 2020.06.03
200603 // 블로그 blog 만들기 5 / get, post 받는 방식 / JSTL  (0) 2020.06.03
JSTL 다운로드  (0) 2020.06.03
jusoPopup.jsp 이해  (0) 2020.06.02

get방식은 getParameter로 값을 받을 수 있고 버퍼로 받지 못한다

post방식처럼 body에 값을 넣어서 전달하는 경우
 getParameter로 값을 받을 수 있고 버퍼로도 받을 수 있다

-----------------------------------

JSP에서

자바스크립트에 자바변수를 넣을 수 있으나

자바코드에 자바스크립트 변수를 넣을 수 없다

(순서상)

---------------------------------

https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

 

JSP - Standard Tag Library (JSTL) Tutorial - Tutorialspoint

JSP - Standard Tag Library (JSTL) Tutorial In this chapter, we will understand the different tags in JSP. The JavaServer Pages Standard Tag Library (JSTL) is a collection of useful JSP tags which encapsulates the core functionality common to many JSP appli

www.tutorialspoint.com

 

JSTL 라이브러리를 추가

 

JSTL은 최대한 안쓰는 것이 좋다 (꼭 필요한 것만 쓰자)

JSP페이지에 자바코드를 줄이는 것이 좋다

-JSP코드를 더쓰라는 것이 아니라 html에서 jsp jstl코드를 최소화하고 Action파일에서 처리하도록 한다

 

아래코드를 넣어 주면 JSTL을 사용가능하다

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

 

<c: 가 붙으면 톰캣이 해석한다

<c:set> 변수 설정

<c:if> 하나의 조건만 쓸때

<c:choose> <c:when> <c:otherwise> if else 문

<c:forEach> 포이치문

<c:out> 출력

 

JSP조건문을 EL로 바꿔보자

 

리다이렉트도 테스트해보자 (쓸필요는 없음)

 

 

https://offbyone.tistory.com/367

 

JSTL - , 태그 사용법

jstl에서 조건에 따른 분기를 처리할 수 있는 태그로 와 가 있습니다. 1. 태그 test 속성내의 EL 의 결과가 참이면 실행됩니다. else 구문은 없습니다. 위의 코드는 변수 name의 값이 "홍길동" 이면 출력

offbyone.tistory.com

--------------------------------

 

주소는 api를 이용하기 때문에 readonly로

 

'Web > Jsp' 카테고리의 다른 글

EL 표현식 기초  (0) 2020.06.03
서블릿 JSP 쿠키 삭제하는 방법  (0) 2020.06.03
JSTL 다운로드  (0) 2020.06.03
jusoPopup.jsp 이해  (0) 2020.06.02
200602 // blog 블로그 만들기 4  (0) 2020.06.02

 

 

 

 

 

 

 

 

'Web > Jsp' 카테고리의 다른 글

서블릿 JSP 쿠키 삭제하는 방법  (0) 2020.06.03
200603 // 블로그 blog 만들기 5 / get, post 받는 방식 / JSTL  (0) 2020.06.03
jusoPopup.jsp 이해  (0) 2020.06.02
200602 // blog 블로그 만들기 4  (0) 2020.06.02
블로그 만들기 3  (0) 2020.06.01

 

더보기
<%@ 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>
<% 
	//request.setCharacterEncoding("UTF-8");  //한글깨지면 주석제거
	//request.setCharacterEncoding("EUC-KR");  //해당시스템의 인코딩타입이 EUC-KR일경우에
	String inputYn = request.getParameter("inputYn"); 
	String roadFullAddr = request.getParameter("roadFullAddr"); 

%>
</head>
<script>
// opener관련 오류가 발생하는 경우 아래 주석을 해지하고, 사용자의 도메인정보를 입력합니다. ("주소입력화면 소스"도 동일하게 적용시켜야 합니다.)
// document.domain = "abc.go.kr";

/*
		모의 해킹 테스트 시 팝업API를 호출하시면 IP가 차단 될 수 있습니다. 
		주소팝업API를 제외하시고 테스트 하시기 바랍니다.
*/

function init(){
	var url = location.href; // 자기주소  ~/jusoPopup.jsp
	var confmKey = "devU01TX0FVVEgyMDIwMDYwMjA5NDkwMjEwOTgyMDE=";
	var resultType = "4"; // 도로명주소 검색결과 화면 출력내용, 1 : 도로명, 2 : 도로명+지번, 3 : 도로명+상세건물명, 4 : 도로명+지번+상세건물명
	var inputYn= "<%=inputYn%>";
	if(inputYn != "Y"){
		document.form.confmKey.value = confmKey;
		document.form.returnUrl.value = url;
		document.form.resultType.value = resultType;
		document.form.action="http://www.juso.go.kr/addrlink/addrLinkUrl.do"; //인터넷망
		//document.form.action="http://www.juso.go.kr/addrlink/addrMobileLinkUrl.do"; //모바일 웹인 경우, 인터넷망
		document.form.submit();
		
		// 서버로 부터 응답 받으면 무조건 새창이다(html 새로 로딩됨)
		
	}else{
		opener.jusoCallBack("<%=roadFullAddr%>");
		window.close();
	}
}
</script>
<body onload="init();">
	<form id="form" name="form" method="post">
		<input type="hidden" id="confmKey" name="confmKey" value=""/>
		<input type="hidden" id="returnUrl" name="returnUrl" value=""/>
		<input type="hidden" id="resultType" name="resultType" value=""/>
		<!-- 해당시스템의 인코딩타입이 EUC-KR일경우에만 추가 START-->
		<!-- 
		<input type="hidden" id="encodingType" name="encodingType" value="EUC-KR"/>
		 -->
		<!-- 해당시스템의 인코딩타입이 EUC-KR일경우에만 추가 END-->
	</form>
</body>
</html>

 

 

변수값들은 파라미터를 받아오지 못했기 때문에 최초에 null이다

 

inputYn이 Y가 아니면 www.juso.go.kr/addrlink/addrLinkUrl.do 

로 이동한다.

해당주소에서 입력하면 다시 jusoPopup으로 가서 roadFullAddr 을 원래페이지에 리턴해준다

 

 

 

 

 

 

 

 

 

 

 

'Web > Jsp' 카테고리의 다른 글

200603 // 블로그 blog 만들기 5 / get, post 받는 방식 / JSTL  (0) 2020.06.03
JSTL 다운로드  (0) 2020.06.03
200602 // blog 블로그 만들기 4  (0) 2020.06.02
블로그 만들기 3  (0) 2020.06.01
쿠키와 세션  (0) 2020.06.01

+ Recent posts