성장 일기/쌍용교육센터 / / 2023. 3. 28. 10:23

0328/Servlet

쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/html에 올려두었습니다.

 

select 설정

  - 값 얻기 : 선택된 옵션의 값

$( "selector" ).val()

 

  - :eq selector 속성 사용
    :eq(인덱스) - 입력된 인덱스에 해당하는 tag를 찾는다.

$("selector 하위태그명:eq(선택할인덱스)").prop("추가할속성명",값)
$("#sel option:eq(2)").prop("selected",true);
<select id="sel" name="">
  <option value="전송할값">보여줄 값</option> <!-- 인덱스 0 -->
  <option value="전송할값">보여줄 값</option> <!-- 인덱스 1 -->
  <option value="전송할값">보여줄 값</option> <!-- 인덱스 2 -->
  <option value="전송할값">보여줄 값</option> <!-- 인덱스 3 -->
</select>


 * 자식 태그로 추가하기

  - .append()사용

$("selector").append("추가할 태그");

 

* 태그 삭제

  - .remove()

$("selector").remove();
$("selector:first").remove(); /*처음 자식 태그를 삭제*/
$("selector:last").remove(); /*마지막 자식 태그를 삭제*/

 

 

plugin

  - 자주 사용될 기능들을 미리 구현해 놓은 것
  - jquery.com에서 다양한 plugin을 제공( 외부 개발자가 제공 )
  - plugin 순서

    1.관련 외부파일 (js나 css)를 연결

    2.기능사용

 

smart editor

  - textarea에 HTML tag를 적용하거나 image 넣을 수 있는 JavaScript로 개발된 plugin

* summernote 사용

  - 모든 언어(JSP, ASP, PHP)에서 사용가능

  - 이미지를 binary로 인코딩하여 보여줘 이미지를 다루기 편리하다. 

  - (1Mbyte를 초과하면 이미지가 변환되지 않는다.)
  - summernote.org에서 관련 js파일을 배포
  - <form> => textarea에 이미지가 삽입되면 text로 encoding되어 back-end로 전송된다.
  - method="get"인 경우에는 256자 이하의 소용량 문자열만 전송할 수 있다.
  - 이미지를 전송하려면 반드시 method="post"로 해야 한다.

 

Servlet

  - Java EE(Enterprise Edition) 중 웹 서비스를 하기 위해 CGI를 준수하여 제작된 기능

  - CGI (Common Gateway Interface) : 일반 언어가 웹 서비스를 하기 위해 공통 방식을 정의한 것
    속도가 느리다.
    구조가 복잡하다.
    디자이너와 개발자간의 업무구분이 어렵다.
    C 언어가 CGI를 준수하여 만들면 C-CGI
    Java 언어가 CGI를 준수하여 만들면 Servlet

  - 서비스하기 복잡하다. ( DD : Deployment Descriptor 가 필요하다 )
    Web browser는 HTML만 실행 할 수 있다. class를 실행하려면 설정이 더 필요

 

* java로 Web Service하기 위한 폴더 구조
  - web root에서 web-in를 제외한 나머지 폴더에선 web browser에서 직접 호출 가능

 

* Servlet/JSP는 웹 클라이언트의 요청을 받아 동적으로 HTML을 생성하는 언어

  - Servlet/JSP는 WAS에 의존성이 있다.(WAS가 반드시 존재)

 

* WAS(Web Application Server)

  - 웹의 요청을 받고 HTML을 생성하여 접속자에게 응답해주는 프로그램 필요

 

*Servlet 흐름

 

Servlet 작성법 

  - 내가 만든 클래스가 웹 서비스를 해야 된다면, CGI를 준수하여 클래스를 작성해야 한다.

    => 문제 : CGI를 그대로 구현하기 어렵다. => 이미 구현한 클래스를 사용하면 된다.
1. HttpServlet을 상속(내가 만든 클래스가 웹 서비스 가능)

 public class Test extends HttpServlet{

 

2. 웹 요청방식을 처리할 수 있는 method를 Override한다. 

<form  method="get | post">

요청방식
* get

  - 웹 브라우저의 주소 창으로 데이터를 전송한다. 
  - 256자 이하의 소용량 문자열 데이터만 전송 가능
  - 보안에 취약하다.(보안이 중요하지 않은 데이터를 전송한다.)
  - 속도는 빠르다.
* post

  - HTTP Protocol을 사용하여 데이터를 전송한다.

  - binary 데이터로 전송(대용량 데이터 전송 가능)
  - 보안이 좋다.(중요 정보, 파일을 전송)
  - 속도는 느리다.

* get방식요청 => doGet method를 Override 하여 처리

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{

 

* post방식요청 => doPost method를 Override하여 처리

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{

 

* get방식, post방식이든 모든 방식을 처리

protected void service(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{

 

3. 응답방식 설정(접속자에게 제공할 형식을 설정)

  - MIME type설정(tomcat에서 응답해줄 수 있는 파일 목록 web.xml 설정)

response.setContentType("text/html;charset=UTF-8");

* Multipurpose Internet Mail Extensions

  -인터넷에서 데이터를 송,수신하기위해 정해놓은 규약

 

4. 응답할 데이터를 내보내기 위한 출력 스트림을 받는다. 

PrintWriter out= response.getWriter();

 

5. 응답할 내용을 만들어서 출력스트림으로 내보낸다.

out.println("<html>...");

 

 

*생성된 class파일을 web browser에서 인식하게 만들기위해 DD에 등록해야 한다.
  WEB-INF/web.xml에 등록

1. 서블릿 등록

<servlet>
<servlet-name>객체명</servlet-name>
<servlet-class>패키지명.클래스명</servlet-class>
</servlet>

2. URL 매핑(web browser에서 클래스를 사용할 수 있도록 다른 이름으로 연결시켜두는 것)

<servlet-mapping>
<servlet-name>객체명</servlet-name>
<url-pattern>/웹브라우저에서인식할 이름</url-pattern>
</servlet-mapping>




 

'성장 일기 > 쌍용교육센터' 카테고리의 다른 글

0330/지시자, 내장 객체  (0) 2023.03.30
0329/JSP  (0) 2023.03.30
0307/each 함수  (0) 2023.03.07
0306/jQuery event  (0) 2023.03.06
0303/jQueryObject 함수  (0) 2023.03.06
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유