IT/JSP

JSP_javascript

Duruwa 2018. 9. 12. 00:22

목  차

1.JSP(기본 태그)

2.값 전달 방식

3. Debug 하는 방법

4. 함수 호출

 

 

 

웹브라우저에서 사용는 대부분의 스탠다드한 표준을 관리 하는 사이트

https://www.w3.org/

 

웹페이즈 언어 교육을 도와주는 사이트

https://www.w3schools.com/

 

브라우저들 회사들이 가입 되어 있는 사이트

https://whatwg.org/

 

1. JSP

<img alt="" src="" />

이미지를 첨부

파일 같은것을 업로드 할때 java 프로젝트 폴더에 업로드 하는것이 아니라

real path의 디렉토리에 업로드 해야 정상 작동 한다 (서버에 파일을 업로드 하는 것이다)

 

우리가 만드는 JSP 파일들은 REAL PATH에 담겨져 있기 때문에 구동 되는것이다

REAL PATH : C:\IoTstudy187\webProject\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\web06JSP_js

PROJECT PATH : C:\IoTstudy187\webProject\web06JSP_js

 
<header>

 화면에 노출되지 않고 검색 엔진을 도와주는 역활

웹 문서 맨 윗부분에 있으며 웹 사이트 이름, 글로벌 링크(로그인, 회원가입)등으로 구성된 영역


<hgroup>

<header>그룹으로 묶는 것

 

<nav>

목적지로 이동할 수 있도록 링크를 별도로 모아둔 영역

 

<div>

레이아웃 나눌때

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>








index

 

 

 

2. 값 전달 방식

 

JSP에서 값을 전달하는 방식은 크게 4가지로 분류 된다

1) param : url 주소에 값을 담아서 전달 한다

  단, 주소에 값이 없으면 값을 가져 올수 없다

ex) next.do?msg=hello

2) attr : url주소에 전달 되는 값이 없어도 컨트롤러에서 주기 때문에 값을 가져 올수 있다

   단, 해당 컨트롤러를 거치지 않으면 값을 가져 올수 없음

ex) request.setAttribute("name", "kim");

3) session : 한번 세팅 된 값은 브라우저를 닫기전까지는 값을 가지고 있다

ex) HttpSession session = request.getSession();
   session.setAttribute("user_name", "kim");

4) context : 한번 세팅 된 값은 서버가 꺼지기 전까지는 값을 가지고 있다

ex) ServletContext context = request.getServletContext();
   context.setAttribute("info", "127.0.0.1");

 

 

package test.com.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


/**
 * Servlet implementation class TestController
 */
@WebServlet({ "/index.do", "/next.do", "/loginOK.do", "/info.do"})
public class TestController2 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public TestController2() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("doGet()...");
		String sPath = request.getServletPath();

		if (sPath.equals("/index.do")) {
			RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
			rd.forward(request, response);
		} else if (sPath.equals("/next.do")) {
			//attr
			request.setAttribute("name", "lee");

			RequestDispatcher rd = request.getRequestDispatcher("next.jsp");
			rd.forward(request, response);
		} else if (sPath.equals("/loginOK.do")) {
			//session
			HttpSession session = request.getSession();
			session.setAttribute("user_name", "kim");

			RequestDispatcher rd = request.getRequestDispatcher("next.jsp");
			rd.forward(request, response);
		} else if(sPath.equals("/info.do")) {
			//context
			ServletContext context = request.getServletContext();
			context.setAttribute("info", "127.0.0.1");
			
			System.out.println(context.getRealPath("images"));
			
			RequestDispatcher rd = request.getRequestDispatcher("next.jsp");
			rd.forward(request, response);
			
		} 
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}


 

 

 

데이터를 가져올때는 EL을 사용 해서 가져 오면 된다

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%=request.getParameter("msg")%>








	

request - param ${param.msg}

request - attr: ${name}

session : ${user_name}

context:${info}

 

 

3. Debug 하는 방법

Script 영역에 다음과 같이 log를 찍어서 확인 하다

console.log("출력내용");

출력내용은 웹 브라우저에서 F12키를 눌러 확인 할 수 있다

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>













	
	

header

section

  1. data
  2. data
  3. data
  4. data

footer

 

실행하다 보면 undefine이 발생 하는것이 있을 것이다

이것은 에러가 아니라 출력할 값이 없다는 것을 의미 한다

not define은 정의가 안되었다는 에러 이다

 

 

4. 함수 호출

함수호출 5가지 유형

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>








	
	

header

header

 

 

javascript는 리턴값으로 function도 전달이 가능하다

당연히 매게 변수로도 전달이 가능 하다