JSP 즈스프 2일차

window preferences - enc 치고 content type에서 css, javascript, java source, jsp UTF-8로 apply,
workspace를 othere에서 UTF-8로 바꾸고 apply and close ~인코딩 설정 끝~

apache tomcat 9버전 깔기 (10버전은 나온 지 얼마 안 되어서 권장 x)
windows 64비트 zip으로 깔면 된다

tomcat>config>server.xml>connector port="8080"을 "8090"으로 변경
그 밑에 rediretPort 옆 URIEncoding="UTF-8"로 변경 후 저장

eclipse에서 servers에서 apache tomcat 9 선택 후 directory>tomcat 9 어쩌고 폴더 지정해주기

file>new>dynamic web project 로 프로젝트 생성해주기
폴더 내 webbapp 폴더는 root 폴더

apache tomcat 안 보이면 build path - project facets - java(1.8 변경) - runtime(tomcat으로 변경) apply&close
add library에서 server runtime - tomcat apply&close

tomcat에서 add&remove - first을 실행할 수 있도록 add
실행 시 start를 누르면 된다

	<div>
	<input type="text" id="num1"> <!-- value=123 이렇게 줘버리면 항상 값이 들어간 상태 -->
	<input type="text" id="num2">
	<button onclick="sum();">더하기</button>
	<button onclick="minus();">빼기</button>
	</div>
	<div>
	<input type="text" id="result">
	</div>
	<div>
	<input type="number" id="result">
	</div>
	
	<script>
	var num1Elem=document.getElementById('num1');
	var num2Elem=document.querySelector('#num2'); //#적으면 ID, num2의 ID값, class였다면 .이 붙었을 것
	var resultElem=document.querySelector('#result');

	function sum(){
		var num1=num1Elem.value;
		var num2=num1Elem.value;
		
		resultElem.value=parseInt(numVal)+Number(num2Val);

	} 
	
	function minus(){
		var num1=num1Elem.value;
		var num2=num1Elem.value;
		
		resultElem.value=parseInt(numVal)-Number(num2Val);

	} 
	</script>
Model(persistence - DB) VO
View(화면, 디스플레이)
Controller(컨트롤 타워 - 로직) : model과 view 사이에서 매니징, servelet

Model2

servlet은 응답 받기 위한 용도
get 방식(오픈) : 요청한 값이 주소에 적힘(상당수가 이 방식) - overloading도 가능
post 방식(숨김): 주소에 적히지 않고 숨겨져서 나옴 (비밀번호 같은 거)

query string

QueryString: get 방식으로 서버 응답을 보낼 때 같이 보내는 data
?시작. 구분은 : & 구성:키=값
예) 이름,나이 정보를 보낸다*서버애서 요구
주소?name=홍길동&age=20&key=value

new>dyanamic web>java ee - development 어쩌고
지우려면 드라이브의 폴더로 가서 WebWorkspace 속에서 직접 지워야 함.

windows>perspective - java ee로 변경

클라이언트(브라우저) 값이 서버쪽으로 넘어옴

<값 빼내는 방법>
request.getParameter(키값);


서블릿에서 jsp로 값 전달하는 방법
<값 넣는 방법>
request.setAttribute(키 값, 밸류 값);

<값 빼는 방법>
request.getAttribute(키 값);

BoardList2


package com.koreait.first;

import java.io.IOException;

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


@WebServlet("/list2")
public class BoardList2Servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
//jsp 파일 절대 이름을 바꾸지 말기
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String jsp="/WEB-INF/list2.jsp";	//jsp 파일은 무조건 web-inf 파일 밑에 붙일 것
		RequestDispatcher rd=request.getRequestDispatcher(jsp);
			rd.forward(request, response);
	}
//책 235쪽
}
package com.koreait.first;

import java.io.IOException;
import java.io.PrintWriter;

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

//책 95쪽 - web-inf는 접속이 안 된다
@WebServlet("/list") //이 부분이 주소 값
public class BoardListServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
//request에 어떤 브라우저로 정보를 보내는 지 다 저장되어 있음
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doGet");
		response.setCharacterEncoding("UTF-8");
		response.getWriter() //response.주소값 
		.append("<html>")
		.append("<body>")
		.append("<head>")
		.append("hi")
		.append("</head>")
		.append("</body>")
		.append("</html>");
		
		PrintWriter out = response.getWriter();
		out.print("ㅎㅅㅎ");
		
//		.append("Served at: ")
//		.append(request.getContextPath())
//		.append("heheh");
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		System.out.println("doPost");
		doGet(request, response);
	}

}

Object로 나오는 건 대부분 형변환해서 사용한다

좋은 웹페이지 즐겨찾기