servlet jsp

servlet 개념정리하기

머리방울 2022. 7. 23. 13:28

쌤이 servlet 이랑 jsp는 스프링때매 잘 쓰지 않는다고 한다. 그런데도 배우는 이유는 두개를 이해하고 가지 않으면 스프링이 이해가 되지 않기 때문이라고 한다. 스프링 넌 도대체 어떤애길래... 벌써 무섭다.

servlet은 자바기반이기 때문에 파일 만드는 위치는

Dynamic프로젝트 생성 -> 펼쳐서 Java Resources -> scr/main/java 여기에서 파일 생성 해야한다!

(물론 파일만들 때도 자바 기반이니까 파일 이름에 첫글자 대문자 써주는 센스!!)

webapp 상단에도 java라는 이름의 폴더가 있어서 착각하는 경우가 많으니 꼭 신경쓰기!!

<servlet이란>

servlet: 자바기반 html 코드를 추가할 수 있도록 만든 클래스

   -> HttpServlet이라는 클래스를 상속해서 만든 모든 클래스를 servlet이라고 한다.

HttpServlet 클래스는 자바로 웹페이지를 구현하는 메소드가 다 구현되어 있다.  
   ->HttpServlet 클래스의 메소드를 오버라이딩해서 servlet을 구성한다.
   ->오버라이딩하여 사용하는 대표적인 메소드 doGet() , doPost()
   ->Servlet이 실행되면 doGet(), doPost() 중 하나가 실행된다.


<doGet()이 실행되는 경우> 
1. servlet화면에서 파일을 바로 실행시켰을 때
2. a태그로 servlet이 열렸을 때 <a href ="login"> 
3. form태그로 페이지 이동 시, method 속성값이 get으로 되어 있을 때 <form action="login" method="get">

<doPost()가 실행되는 경우>
1. form태그로 페이지 이동 시 method 속성값이 post로 되어 있을 때 <form action="login" method="post">

 

<웹페이지 이동 시 데이터를 전달하는 방법>
1. a태그로 페이지 이동 시 데이터 전달 가능
2. form태그로 페이지 이동 시 데이터 전달 가능
 - form태그 안에 만들어진 input 태그들의 데이터(value  속성값)를 전달할 수 있다. 
 - input태그의 데이터를 전달할 때는 반드시 name속성을 정해줘야 한다(전달 받은 데이터를 구분하기 위함)

<전달한 데이터를 받는 방법>
-전달한 데이터는 servlet에서 받을 수 있고, jsp에서도 데이터를 받을 수 있다.
-servlet에서 데이터를 받을 때는 request.getParameter() 메소드를 사용하며, 이 method의 매개변수에는 input 태그의 name속성값이 들어 간다. method의 리턴타입은 String이다. 
-문자열(String)로 받기 떄문에 계산이 필요한 경우에는 정수로 변환해야 한다. Integer.parseInt()