💜 서블릿 (Servlet: Server Applet)
- CGI의 단점을 보완하기 위해 Sun Microsystems에서 개발
- Java 기반의 동적 웹 프로그래밍 솔루션
- 서블릿 기반으로 JSP 개발
--> JSP는 내부적으로 서블릿으로 변환되어 실행됨
--> JSP 동작 방식 이해를 위해 서블릿 이해가 필수
🩷 HTTPServletRequest 함수
- HTTPServletRequest: HTTP 요청 처리를 위해 필요한 기능을 제공하는 클래스
* LoginServlet의 doGet() 함수 구현
- request.getParameter() 를 이용해 쿼리 스트링으로부터 사용자 입력 값 추출
- 사용자 입력 값을 이용해 출력될 HTML 코드 생성
- 생성된 HTML 코드를 브라우저로 전송
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String uid = request.getParameter("id");
String res = "<html><h3>User ID: " + uid + "</h3></html>";
response.getWriter().print(res);
}
* LoginServlet의 처리 과정
- login.html에서 사용자가 아이디와 패스워드 kim, 111 입력 시 처리 과정
💜 다양한 입력 양식 처리
1️⃣ <textarea> 입력 처리
- 아래 HTML을 통해 생성되는 URL?
http://localhost:8080/Hello/TextareaServlet?comment=No%20Comment
<body>
<form action="TextareaServlet">
Comment <br>
<textarea name="comment" rows="10" cols="50" placeholder="Add your comment">
No comment</textarea>
<br><br>
<input type="submit" value="Upload">
</form>
</body>
* TextareaServlet의 doGet() 함수 구현
- request.getParameter()를 이용해 쿼리 스트링으로부터 사용자 입력 값 추출
- 사용자 입력 값 이용해 출력될 HTML 코드 생성
- 생성된 HTML 코드를 브라우저로 전송
http://localhost:8080/Hello/TextareaServlet?comment=No%20Comment
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String ucom = request.getParameter("comment");
String res = "<html><h3>User comment: " + ucom + "</h3></html>";
response.getWriter().print(res);
}
2️⃣ <input type="radio"> 입력 처리
- 아래 HTML을 통해 생성되는 URL?
http://localhost:8080/Hello/CheckboxServlet?fruit=apple&fruit=banana
<body>
<form action="CheckboxServlet">
Select one or more favorite fruits <br>
<input type="checkbox" name="fruit" value="apple" checked>Apple<br>
<input type="checkbox" name="fruit" value="banana" checked>Banana<br>
<input type="checkbox" name="fruit" value="orange">Orange<br><br>
<input type="submit" value="Select">
</form>
</body>
* CheckboxServlet의 doGet() 함수 구현
- 사용자 입력 값 추출 -> HTML 코드 생성 -> 브라우저로 전송
- 멀티 선택값 추출 위해 request.getParameterValues() 함수 이용
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String[] usel = request.getParameterValues("fruit");
String res = "<html>";
for (int i=0; i<usel.length; i++) {
res += "<h3>Selected fruit: " + usel[i] + "</h3>";
}
res += "</html>";
response.getWriter().print(res);
}
+ 한글 인코딩 방법
request.setCharacterEncoding("UTF-8");
- Servlet에 request 객체에 담겨 넘어오는 데이터에 대해 인코딩 값 설정
- getParameter() 사용해 값을 받기 전 인코딩 값 설정
'학교 > JAVA' 카테고리의 다른 글
05) 서블릿 예제 (0) | 2023.12.16 |
---|---|
07) 내장 객체 예제 (0) | 2023.12.15 |
06) JSP (0) | 2023.12.14 |
07) JSP 내장 객체 종류 (0) | 2023.12.14 |
모바일 웹 서비스 구현을 위한 JSP 웹 프로그래밍 연습문제_07 JSP 내장 객체 (0) | 2023.12.13 |