티스토리 뷰

Servlet JSP

Servlet 서블릿 출력!

Programmers 2021. 4. 20. 10:20
반응형

이전에 봤던 코드
Nana.java

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Nana extends HttpServlet
{
	public void service(HttpServletRequest request
						, HttpServletResponse response)
						throws IOException, ServletException
	{
		System.out.println("hello Servlet");
	}
}

여기서 똭 읽어보면 HttpServletRequest는 아~ 입력하는 거겠구나
HttpServletResponse는 출력하는 거겠구나 하는 감이 온다.

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Nana extends HttpServlet
{
	public void service(HttpServletRequest request
						, HttpServletResponse response)
						throws IOException, ServletException
	{
		System.out.println("hello Servlet");
		
		OutputStream os = response.getOutputStream();
		PrintStream out = new PrintStream(os, true);
		out.println("Hello Servlet!!");
		
	}
}

이렇게 코드를 추가해준다. response를 사용해서 코드를 입력해주자.
그런데 급..... java를 공부를 안해서 지금 코드를 모르겠다.
하지만 일단... 해보자!

OutputStream os = response.getOutputStream();
-> OutputSteam형식의 os에 OutputStream을 생성한다.
PrintSteam out = new PrintStream(os, true);
-> 원래는 8바이트가 되어야 출력이 되지만, true옵셥을 통해서 바로 송출하도록 한다.
out.println("Hello Servlet!!");
-> out은 웹자신을 의미하고 여기에 println을 통해 출렦!

사실 잘 몰르겠다~ 동일한 의미의 코드를 아래에서 다시 

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Nana extends HttpServlet
{
	public void service(HttpServletRequest request
						, HttpServletResponse response)
						throws IOException, ServletException
	{
		System.out.println("hello Servlet");
	
		PrintWriter out = response.getWriter();
		out.println("Hello Servlet!!");
		
	}
}

PrintWriter out = response.getWriter();
-> 문자를 쓸 것이고 다국어일 경우에는 무조건 이렇게 쓰는게 맞다고 한다.

자 이렇게 하고 다시 ... 실행해야된다.
순서 다시
1. 톰캣 startup 종료 후 재실행
2. cmd에서 C:\JSP 디렉토리 내의 javac -cp C:\JSP\apache-tomcat-9.0.45\lib\servlet-api.jar Nana.java명령어 쳐서 다시 클래스파일을 만들고
3. 클래스파일을 톰캣의 lib\ROOT\C:\JSP\apache-tomcat-9.0.45\webapps\ROOT\WEB-INF\classes에 옮기고
4. localhost:8080/hello 실행해보자!

서블릿 실행화면

대박사건,,,, 드디어 출력됬다!!!!!!!! 만세!!!!!!!!!!
문자로 기쁨을 표현할수가 없음이 아쉽다.

다음에는 드디어 이 불편한 실행방법들을 없애줄 ecllipse를 사용해보자!

반응형
댓글
공지사항