목차
ch01
HelloServlet.java
package kr.web.ch01;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet; //webservlet 어노테이션을 사용하기 위함.
import java.io.PrintWriter;
import java.io.IOException;
@WebServlet("/helloServlet")
// 톰캣에서 기본 경로는 막아둠 (불필요한 정보 노출 방지), 그렇기 때문에 어노테이션을 사용해서 경로명을 따로 지정해줘야하며, 경로명이기 때문에 반드시 앞에 슬래쉬를 넣자.
public class HelloServlet extends HttpServlet{
// 일반 클래스를 서블릿으로 사용할 경우 HttpServlet을 상속시켜야 함. 그러면 클래스가 request와 response를 호출하게 됨.
public void doGet(HttpServletRequest request, // tomcat의 container가 이 두가지를 생성
HttpServletResponse response)
throws ServletException,IOException{ // 입출력 및 서버 에러에 대한 예외처리
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//HTML 출력을 위한 출력 스트림 생성 (이전까진 fileoutputStream 등 이용해서 하던 것)
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Hello Servlet</title></head>");
out.println("<body>");
out.println("처음 작성하는 servlet 입니다.");
out.println("</body>");
out.println("</html>");
//자원 정리 (생략 가능 하지만 자원을 효율적으로 사용하기 위함)
out.close();
}
}

NowServlet.java
package kr.web.ch01;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
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("/now")
public class NowServlet extends HttpServlet{
@Override
public void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
Date now = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy년MM월dd일 a hh:mm:ss");
//문서 타입 및 캐릭터 셋 지정
response.setContentType("text/html;charset=utf-8");
//html 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>현재 날짜와 시간</title></head>");
out.println("<body>");
out.println("현재 날짜와 시간 : " + sf.format(now));
out.println("</body>");
out.println("</html>");
out.close();
}
}

HundredServlet.java
package kr.web.ch01;
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;
@WebServlet("/hundred")
public class HundredServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 1부터 100까지의 합을 출력(반복문 활용)
* [출력예시]
* 1부터 100까지의 합은 5050
*
*/
int total = 0;
for(int i=0; i<=100; i++) {
total +=i;
}
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//Html 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>1부터100까지의 합</title></head>");
out.println("<body>");
out.println("1부터 100까지의 합은"+total);
out.println("</body>");
out.println("</html>");
}
}

MyinfoServlet.java
package kr.web.ch01;
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;
@WebServlet("/myInfo")
public class MyInfoServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 개인 정보 출력하기
* (데이터를 저장할 변수 지정, name,age,job,address)
* [출력예시]
* 이름 : 홍길동
* 나이 : 20살
* 직업 : 학생
* 주소 : 서울시
*
*/
String name = "홍길동";
int age = 20;
String job ="학생";
String address = "서울시";
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//Html 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>개인 정보 출력하기</title></head>");
out.println("<body>");
out.println("이름 : "+name+"<br>");
out.println("나이 : "+age+"살<br>");
out.println("직업 : "+job+"<br>");
out.println("주소 : "+address);
out.println("</body>");
out.println("</html>");
}
}

ch02
GugudanServlet.java
package kr.web.ch02;
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;
@WebServlet("/gugudan")
public class GugudanServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//전송된 데이터 반환
// String->int변환
int dan = Integer.parseInt(request.getParameter("dan")); //getParameter는 String만 반환 그래서 변형 시켜줘야됨.
//HTML 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>구구단</title></head>");
out.println("<body>");
out.println(dan + "단<br>");
out.println("------------------------<br>");
for(int i=1; i<=9; i++) {
out.println(dan + "*"+i+"="+dan*i+"<br>");
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
gugudanForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>구구단</title>
</head>
<body>
<h1>구구단 단 입력</h1>
<form action="/ch03_JSP/gugudan" method="get">
단 <input type="number" name="dan" min="2" max="9">
<input type="submit" value="전송">
</form>
</body>
</html>


AddServlet.java
package kr.web.ch02;
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;
@WebServlet("/add")
public class AddServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 두 개의 숫자 전송되면 전송된 두 개의 숫자를 더해서 결과를 구하시오.
* [출력예시]
* 5 + 2 = 7
*/
//전송된 데이터 반환
// String->int변환
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
int num3 = num1+num2;
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//HTML 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>덧셈하기</title></head>");
out.println("<body>");
//out.println(num1+"+"+num2 +"="+(num1+num2));
out.printf("%d + %d = %d", num1,num2,num1+num2);
out.println("</body>");
out.println("</html>");
out.close();
}
}
addForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>덧셈하기</title>
</head>
<body>
<h1>덧셈하기</h1>
<form action="/ch03_JSP/add" method="get">
첫 번쨰 정수 : <input type="number" name="num1"><br>
두 번째 정수 : <input type="number" name="num2"><br>
<input type="submit" value="더하기">
</form>
</body>
</html>



NumServlet.java
package kr.web.ch02;
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;
@WebServlet("/num")
public class NumServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 전송된 정수 값이 짝수이면 짝수입니다. 출력, 홀수이면 홀수 입니다. 라고 출력
*/
//전송된 정수를 반환
int num = Integer.parseInt(request.getParameter("num"));
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//HTML 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>짝수/홀수 구하기</title></head>");
out.println("<body>");
if(num%2==0) {
out.println("짝수 입니다.");
}else {
out.println("홀수 입니다.");
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
numForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>짝수/홀수 구하기</title>
</head>
<body>
<h1>짝수/홀수 구하기</h1>
<form action="/ch03_JSP/num" method="get">
정수 하나 입력:<input type="number" name="num"><br>
<input type="submit" value="전송">
</form>
</body>
</html>


'쌍용교육(JAVA) > Servlet' 카테고리의 다른 글
쌍용교육 -Servlet수업 45일차 ch04 (0) | 2024.04.22 |
---|---|
선택 안됨 쌍용교육 -Servlet수업 45일차 ch03(2) (0) | 2024.04.22 |
쌍용교육 -Servlet수업 44일차 ch03 (0) | 2024.04.19 |
ch01
HelloServlet.java
package kr.web.ch01;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet; //webservlet 어노테이션을 사용하기 위함.
import java.io.PrintWriter;
import java.io.IOException;
@WebServlet("/helloServlet")
// 톰캣에서 기본 경로는 막아둠 (불필요한 정보 노출 방지), 그렇기 때문에 어노테이션을 사용해서 경로명을 따로 지정해줘야하며, 경로명이기 때문에 반드시 앞에 슬래쉬를 넣자.
public class HelloServlet extends HttpServlet{
// 일반 클래스를 서블릿으로 사용할 경우 HttpServlet을 상속시켜야 함. 그러면 클래스가 request와 response를 호출하게 됨.
public void doGet(HttpServletRequest request, // tomcat의 container가 이 두가지를 생성
HttpServletResponse response)
throws ServletException,IOException{ // 입출력 및 서버 에러에 대한 예외처리
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//HTML 출력을 위한 출력 스트림 생성 (이전까진 fileoutputStream 등 이용해서 하던 것)
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Hello Servlet</title></head>");
out.println("<body>");
out.println("처음 작성하는 servlet 입니다.");
out.println("</body>");
out.println("</html>");
//자원 정리 (생략 가능 하지만 자원을 효율적으로 사용하기 위함)
out.close();
}
}

NowServlet.java
package kr.web.ch01;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
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("/now")
public class NowServlet extends HttpServlet{
@Override
public void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
Date now = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy년MM월dd일 a hh:mm:ss");
//문서 타입 및 캐릭터 셋 지정
response.setContentType("text/html;charset=utf-8");
//html 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>현재 날짜와 시간</title></head>");
out.println("<body>");
out.println("현재 날짜와 시간 : " + sf.format(now));
out.println("</body>");
out.println("</html>");
out.close();
}
}

HundredServlet.java
package kr.web.ch01;
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;
@WebServlet("/hundred")
public class HundredServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 1부터 100까지의 합을 출력(반복문 활용)
* [출력예시]
* 1부터 100까지의 합은 5050
*
*/
int total = 0;
for(int i=0; i<=100; i++) {
total +=i;
}
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//Html 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>1부터100까지의 합</title></head>");
out.println("<body>");
out.println("1부터 100까지의 합은"+total);
out.println("</body>");
out.println("</html>");
}
}

MyinfoServlet.java
package kr.web.ch01;
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;
@WebServlet("/myInfo")
public class MyInfoServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 개인 정보 출력하기
* (데이터를 저장할 변수 지정, name,age,job,address)
* [출력예시]
* 이름 : 홍길동
* 나이 : 20살
* 직업 : 학생
* 주소 : 서울시
*
*/
String name = "홍길동";
int age = 20;
String job ="학생";
String address = "서울시";
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//Html 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>개인 정보 출력하기</title></head>");
out.println("<body>");
out.println("이름 : "+name+"<br>");
out.println("나이 : "+age+"살<br>");
out.println("직업 : "+job+"<br>");
out.println("주소 : "+address);
out.println("</body>");
out.println("</html>");
}
}

ch02
GugudanServlet.java
package kr.web.ch02;
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;
@WebServlet("/gugudan")
public class GugudanServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//전송된 데이터 반환
// String->int변환
int dan = Integer.parseInt(request.getParameter("dan")); //getParameter는 String만 반환 그래서 변형 시켜줘야됨.
//HTML 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>구구단</title></head>");
out.println("<body>");
out.println(dan + "단<br>");
out.println("------------------------<br>");
for(int i=1; i<=9; i++) {
out.println(dan + "*"+i+"="+dan*i+"<br>");
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
gugudanForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>구구단</title>
</head>
<body>
<h1>구구단 단 입력</h1>
<form action="/ch03_JSP/gugudan" method="get">
단 <input type="number" name="dan" min="2" max="9">
<input type="submit" value="전송">
</form>
</body>
</html>


AddServlet.java
package kr.web.ch02;
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;
@WebServlet("/add")
public class AddServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 두 개의 숫자 전송되면 전송된 두 개의 숫자를 더해서 결과를 구하시오.
* [출력예시]
* 5 + 2 = 7
*/
//전송된 데이터 반환
// String->int변환
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
int num3 = num1+num2;
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//HTML 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>덧셈하기</title></head>");
out.println("<body>");
//out.println(num1+"+"+num2 +"="+(num1+num2));
out.printf("%d + %d = %d", num1,num2,num1+num2);
out.println("</body>");
out.println("</html>");
out.close();
}
}
addForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>덧셈하기</title>
</head>
<body>
<h1>덧셈하기</h1>
<form action="/ch03_JSP/add" method="get">
첫 번쨰 정수 : <input type="number" name="num1"><br>
두 번째 정수 : <input type="number" name="num2"><br>
<input type="submit" value="더하기">
</form>
</body>
</html>



NumServlet.java
package kr.web.ch02;
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;
@WebServlet("/num")
public class NumServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* 전송된 정수 값이 짝수이면 짝수입니다. 출력, 홀수이면 홀수 입니다. 라고 출력
*/
//전송된 정수를 반환
int num = Integer.parseInt(request.getParameter("num"));
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//HTML 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>짝수/홀수 구하기</title></head>");
out.println("<body>");
if(num%2==0) {
out.println("짝수 입니다.");
}else {
out.println("홀수 입니다.");
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
numForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>짝수/홀수 구하기</title>
</head>
<body>
<h1>짝수/홀수 구하기</h1>
<form action="/ch03_JSP/num" method="get">
정수 하나 입력:<input type="number" name="num"><br>
<input type="submit" value="전송">
</form>
</body>
</html>


'쌍용교육(JAVA) > Servlet' 카테고리의 다른 글
쌍용교육 -Servlet수업 45일차 ch04 (0) | 2024.04.22 |
---|---|
선택 안됨 쌍용교육 -Servlet수업 45일차 ch03(2) (0) | 2024.04.22 |
쌍용교육 -Servlet수업 44일차 ch03 (0) | 2024.04.19 |