반응형

이클립스에서 

Dynamic web project 를 하나 생성하시고

sec02.ex01 패키지에 CalcServlet 클래스를 생성합니다.

CalcServlet.java 클래스에 아래대로 입력을 합니다.

 

 

실행하고

http://localhost:8080/pro06/calc로 요청한 후 원화에 값을 입력하고 변환을 클릭해 봅니다

 

그럼 변환된 값이 출력이 됩니다^^

 

ps. 탐캣이 설치되어 있어야 합니다...

 

package sec02.ex01;

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("/calc")
public class CalcServlet extends HttpServlet{
private static float USD_RATE = 1124.70F;
private static float JPY_RATE = 10.113F;
private static float CNY_RATE = 163.30F;
private static float GBP_RATE = 1444.35F;
private static float EUR_RATE = 1295.97F;
public void init() {
System.out.println("init 실행");
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter pw = response.getWriter();

String command = request.getParameter("command");  //수행할 요청을 받아옵니다.
String won = request.getParameter("won"); //변환할 원화를 받아옵니다.
String operator = request.getParameter("operator"); // 변환할 외화종류를 받아옵니다.

if(command != null && command.equals("calculate")) { //최초 요청 시 command가 null이면 계산기 화면을 출력하고, command값이 calculate이면 계산 결과를 출력합니다.

String result = calculate(Float.parseFloat(won), operator);
pw.print("변환결과"); pw.print(""+ result + ""); pw.print("환율 계산기"); return; } pw.print(""); pw.print("환율 계산기"); pw.print("

");  //환율 정보 입력 후 다시 서블릿 calc로 요청합니다.
pw.print("원화: ");
pw.print("
pw.print(
pw.print(
pw.print(
pw.print(
pw.print(
pw.print(");

pw.print("");
pw.println("");
pw.println("

"); pw.print(""); pw.close(); } // 원화를 선택한 외화로 환산합니다. private static String calculate(float won, String operator) { String result = null; if(operator.equals("dollar")) { result = String.format("%.6f", won / USD_RATE); }else if (operator.equals("en")) { result = String.format("%.6f",  won / JPY_RATE); }else if (operator.equals("wian")) { result = String.format("%.6f", won / CNY_RATE); }else if (operator.equals("pound")) { result = String.format("%.6f", won / GBP_RATE); }else if (operator.equals("euro")) { result = String.format("%.6f", won / EUR_RATE); } return result; }  } ​

반응형
블로그 이미지

꽃꽂이하는개발자

,