2024.04.19
웹어플리케이션 기초
웹어플리케이션의 구성

요청 처리 방식

여러 요청이 동일한 프로그램을 호출할 때 요청량만큼 프로세서를 생성해서 처리하기 때문에 대량 트래픽 발생시 부하 발생
Servlet/JSP 사용시 처리 방식

여러 요청이 동일한 프로그램을 호출할 때 요청을 어플리케이션 서버내의 컨테이너가 각 요청에 따라 스레드를 생성해 하나의 프로그램을 동작시키는 방식으로 대량의 트래픽 발생해도 CGI 방식에 비해 부하가 덜 발생함
Servlet 과 JSP
- Servlet
- 자바를 기반으로 하는 웹 개발 표준 언어
- 실행 코드 방식
- JSP
- 자바 기반 스크립트 언어
- 웹 어플리케이션에서 결과 화면을 생성할 때 주로 사용
웹 컨테이너
웹어플리케이션을 실행할 수 있는 컨테이너

Servlet 실습
boardForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 글쓰기</title>
</head>
<body>
<form action="/ch03_JSP/board" method="post">
이름 <input type="text" name="name"><br>
제목 <input type="text" name="title"><br>
내용 <textarea rows="5" cols="50" name="content"></textarea>
<br>
<input type="submit" value="전송">
</form>
</body>
</html>
boardServlet.java
package kr.web.ch03;
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("/score")
public class ScoreServlet extends HttpServlet{
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
//성적 처리
//국어, 영어, 수학, 총점, 평균, 등급 출력
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//Post방식으로 데이터 전송시 전송된 데이터 인코딩 타입 지정
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>성적</title></head>");
int korean = Integer.parseInt(request.getParameter("korean"));
int english = Integer.parseInt(request.getParameter("english"));
int math = Integer.parseInt(request.getParameter("math"));
out.println("국어: " + korean + "점<br>");
out.println("영어: " + english + "점<br>");
out.println("수학: " + math + "점<br>");
int sum = sum(korean,english,math);
out.println("총점: " + sum + "점<br>");
float avg = avg(sum);
out.println("평균: " + avg(sum) + "점");
out.println("등급: " + grade(avg));
out.println("</html>");
}
static int sum(int korean, int english, int math) {
return korean+english+math;
}
static float avg(int sum) {
return sum/3;
}
static String grade(float avg) {
switch((int)avg/10) {
case 10:
case 9: return "A";
case 8: return "B";
case 7: return "C";
case 6: return "D";
default:
return "F";
}
}
}
'IT 국비 교육' 카테고리의 다른 글
쌍용교육센터 - 46일 (0) | 2024.04.23 |
---|---|
쌍용교육센터 - 45일 (0) | 2024.04.22 |
쌍용교육센터 - 43일 (1) | 2024.04.18 |
쌍용교육센터 - 42일 (0) | 2024.04.17 |
쌍용교육센터 - 41일 (0) | 2024.04.16 |