앞서 설명한 내용을 요약하자면
1.작성(.java)------> 컴파일(javac -cp "" .java) ---------> .class 생성--------> 클래스파일 설치(WEB-INF/classes) -------->등록(web.xml)
서블릿을 등록하는데 위의 과정이 걸린다고 말했습니다.
이번엔 간단한 html문서의 입력 양식으로 값을 더해서 doGet 메서드를 호출하여 파라미터로 받고 더해줘서 결과를 출력해주는 예제를 간단하게 보겠습니다.
우선 입력 html 문서와 서블릿 java 파일을 나눕니다.
html문서: AdderInput.html
Servlet: AdderServlet.java
로 작성하여 저장합니다.
우선 한글 HTML문서를 출력하기위해서 서블릿 클래스에서
response.setContentType("text/html;charset="euc-kr");
를 작성해줍니다. 무조건 response.getWriter 보다 앞에 나와야합니다.
html 문서에서 입력한 값을 서블릿에서 받기 위해 request.getParameter("<INPUT> NAME 에트리뷰트 값"); 으로 받습니다.
코드를 보시죠
우선 AdderInput.html 문서입니다.
<HTML>
<HEAD>
<META http=equiv="Content-Type" content="text/html;charset=euc-kr">
<TITLE>덧셈 프로그램-입력 화면</TITLE>
</HEAD>
<BODY>
<FORM ACTION=/brain/adder>
첫번째 수:<INPUT TYPE=TEXT NAME=NUM1><BR>
두번째 수:<INPUT TYPE=TEXT NAME=NUM2><BR>
<INPUT TYPE=SUBMIT VALUE="더하기">
</FORM>
</BODY>
</HTML>
첫번째 수와 두번째 수를 <INPUT> 태그를 통해 받고 더하기 버튼을 추가합니다.
위와 같은 결과가 나올겁니다.
그다음 서블릿 클래스를 봅시다.
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class AdderServlet extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
String str1=request.getParameter("NUM1");
String str2=request.getParameter("NUM2");
int num1=Integer.parseInt(str1);
int num2=Integer.parseInt(str2);
int num=num1+num2;
response.setContentType("text/html;charset=euc-kr");
PrintWriter out=response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>덧셈 프로그램-결과 화면</TITLE></HEAD>");
out.println("<BODY>");
out.printf("%d+%d=%d",num1,num2,num);
out.println("</BODY>");
out.println("</HTML>");
}
}
즉 문자열로 우선 NUM1 과 NUM2 에트리뷰트 값을 통해 request 매개변수를 이용하여 값을 전달 받습니다.
그 후 문자열을 정수형으로 parseInt를 이용하여 바꿔주고 더해줍니다.
해당 값을 출력해줍니다.
34+3=37
위 html 문서에서 값을 입력하여 더하기 누르면 바로 34+3=37과 같은 결과값이 나오게 됩니다.
우선 아파치 톰캣 파일 들어가서 webapps에서 각자 만든 디렉토리안에 html문서를 넣고 서블릿.java를 javac를 이용하여 컴파일 후 만들어진 class 파일을 WEB-INF 안에 classes 폴더에 넣습니다.
web.xml을 열어서
<servlet>
<servlet-name>adder-servlet</servlet-name>
<servlet-class>AdderServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>adder-servlet</servlet-name>
<url-pattern>/adder</url-pattern>
</servlet-mapping>
를 추가해줍니다.
http://localhost:8080/brain/AdderInput.html URL을 쳐서 들어가서 입력값을 더해주면 성공한겁니다.
'웹 > JSP' 카테고리의 다른 글
JSP의 기초(2) (0) | 2018.10.03 |
---|---|
JSP의 기초 (0) | 2018.09.19 |
서블릿에 대해 (0) | 2018.09.10 |
간단한 JSP 페이지 작성하기 (0) | 2018.09.05 |
JSP와 서블릿 기초 (0) | 2018.09.04 |