본문 바로가기

개인 공부방/JSP

서블릿 servlet


▶ 간단한 Servlet
 
▷ get 방식
 데이터가 보인다
 Query String(주소표시줄에 통해서 이동)
 default
 문자열 처리만 가능

▷ post 방식
 데이터가 안보인다(내부적으로 처리)
 페이지 단위 - 대량의 데이터를 이동시킬 수 있다
 클라이언트가 post 요청시 가능


1. class앞에 반드시 public 를 붙여야 한다
2. main() 메소드가 없다


javax 는 오라클이 아닌 타사방식을 가져온 것.
servlet을 쓰려면

http servlet을 사용
service()메소드를 오버라이드 하지 않는다.
doGet() doPost()를 오버라이드 한다.





C:\Tomcat 7.0\webapps\study\WEB-INF\classes

여기에 HelloServlet.java를 만든다.

class HelloServlet extends HelloServlet{
}


 


//톰켓의 path 설정

CLASSPATH 에
C:\Tomcat 7.0\lib\servlet-api.jar;
을 추가해준다.
(이클립스설정이다.)
===========
에디트플러스에서 사용
 C:\Tomcat 7.0\lib\servlet-api.jar
 -> C:\Program Files\Java\jdk1.6.0_29\jre\lib\ext 폴더로 복사
 * 권장하는 방법은 아닙니다.

 *주의*   *.class 파일을 수정하면 톰캣을 재실행 해야만 한다.








http://tomcat.apache.org/tomcat-7.0-doc/servletapi/index.html

톰캣의 document에서 servlet javadoc을 본다.


HttpServlet 페이지
http://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpServlet.html

HttpServlet 클래스에 구현이 되어있다.

doGet과 doPost클래스를 복사해오자.

import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
public class HelloServlet extends HttpServlet{
 protected  void doGet(HttpServletRequest req, HttpServletResponse resp)
  throws IOException, ServletException {
  resp.setContentType("text/html");
  PrintWriter out = resp.getWriter();
  out.println("<html>");
  out.println("Hello Servlet!!");
  out.println("</html>");
 }
 protected  void doPost(HttpServletRequest req, HttpServletResponse resp)
  throws IOException, ServletException {
  doGet(req, resp);
 }
}
 



8080/study/WEB-INF/classes/HelloServlet

로 실행이 되어야하는데 404에러가 뜬다. 이는 servlet이 막아둬서 보안을 유지하기 위함이다.
     http://localhost:8080/study/WEB-INF/classes/HelloServlet 실행시는 확장자 생략
     -> http://localhost:8080/study/servlet/HelloServlet 로 실행해야만 한다.

 C:\Tomcat 6.0\conf\context.xml  <Context reloadable="true" privileged="true"> 로 수정
     C:\Tomcat 6.0\conf\web.xml   126, 386번째 줄 주석풀기

 404 error -> 사용자 실수. 오타. 주소 오류
 ( 500 서버측 문제, 405 서비스 문제 )

 * Tomcat 7.0 *
 7.0 버전에서는 주석을 풀 수 없다.
  context의 web.xml에 써 넣어줘야 한다.
 <servlet>
  <display-name>HelloServlet</display-name>
  <servlet-name>HelloServlet</servlet-name>
  <servlet-class>HelloServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>HelloServlet</servlet-name>
  <url-pattern>/HelloServlet</url-pattern> //여기에 aaa로 이름을 바꿔적으면 위의 class에 맵핑이되어있어서 실행이된다.
 </servlet-mapping>

C:\Tomcat 7.0\webapps\study\WEB-INF
폴더의 xml을 editplus로 수정한다.

톰캣을 껏다가 켜고
http://localhost:8080/study/HelloServlet
을 시작하면 된다.

'개인 공부방 > JSP' 카테고리의 다른 글

person.html 만들기  (0) 2011.12.07
자바-eclipse 에서 html 설정 및 기본실행  (0) 2011.12.07
html 기본문법2  (0) 2011.12.06
html 기본문법  (0) 2011.12.06
교재  (0) 2011.12.06