본문 바로가기

Web Programing Language/JSP-servlet

서블릿 프로그래밍 #2 - 서블릿 프로그램에서의 form 데이터 처리

이제부터 진짜 웹 페이지를 연동해서 dynamic 웹 페이지를 만드는 부분이 시작됩니다!!!

아 기쁘다 ㅎㅎㅎㅎ


지금 할 부분은 전달받은 폼 데이터를 이용해 연산을하고 표시를 하는 서블릿 프로그램을 제작하는 방법입니다.



일단 처음으로 할 부분은 어디에 프로그램을 작성하냐 인데요.

웹 페이지에서 폼 데이터를 전달하는 방법으로는 GET 과 POST 의 두가지 방법이 있습니다.


결론만 말하자면,,

GET으로 전달하는 경우에는 doGet 메소드를 오버라이딩하여서 사용하고, POST 로 전달하는 경우에는 doPost 메소드에 오버라이딩을 하여서 사용합니다.


아 말씀 안드린 부분이 있네요. doGet 메소드와 doPost 메소드는 HttpServlet 클래스에 포함되어 있는 메소드입니다.

사용을 하기 위해서는 오버라이딩이 필요하지요.


아무튼 그렇게 나는 GET을 이용해서 폼 데이터를 전달하겠다 하시면,

doGet 메소드에 프로그램을 작성합니다.


그러면 이제 전달 받은 폼 데이터를 서블릿 프로그램에서 추출해야 겠죠??

전달 받은 정보는 HttpServletRequest 객체 안에 저장이 됩니다. 그리고 우리는 getParameter 메소드를 이용해 입력 받은 정보를 추출할 수 있지요.


사용법은 위에 나와있는대로입니다.

폼 데이터는 전부 문자열 String 의 형태로 리턴이 됩니다.

getParameter는 파라미터로서 태그의 이름을 넣습니다.

그러면 해당하는 태그의 value 값을 리턴해주지요.


참 쉽죠??


다음으로 볼 메소드는 만약 이름이 같은 태그가 여러가지 있다!! 하는 경우인데요.


별 다른 것이 없습니다.


사용하실 메소드는 getParameterValues 메소드이고 전달할 파라미터는 마찬가지로 태그의 name 속성값입니다.

다른 점은 전달 받을 것이 많기 때문에 Stirng 배열의 형태로 전달이 된다는 것이죠.

예를 들어서,

<input type = text name= id>

<input type = text name= id>

두 개의 태그가 있다고 가정했을 때, 첫 번째 태그의 value 값이 values[0] 에 입력되고,

다음이 values[1]에 입력된다는 것입니다.


다음은 태그의 이름을 모를 경우인데,,,,,, 솔직히 태그의 이름을 모른다는 것도 말이 안되기 때문에 그냥 제가 수업할 때 사용한 ppt 만 올려드릴게요.


이렇게 씁니다.


중요한 부분은 while 문에 따로 배열을 통해서 저장을 하는 등의 처리를 해주지 않으면 위의 것과 같이 사용했을 때, 바로바로 사용을 해야지만 다 사용할 수 있다는 것이죠.

약간의 프로그래밍 센스가 필요한 부분입니다.


사용 예제입니다!!




자, 여러분 굿나잇 에브리원 ㅋㅋㅋㅋ