서블릿(servlet) : 웹어플리케이션의 구조(파일구조),경로
중요..중요
Root<최상위> -WEB-INF - Web.xml
* WEB-INF : 무조건 필요한 파일.(반드시 이파일이 필요)
* Web.xml : web-inf안에 "Web.xml" 이 필요
이클립스와 톰캣과 연동시켜야한다.
1. Eclipse - window - preperences - server - server runtimenviroment
2. perspective를 javaEE 선택.
3. 밑에 show view에 servers
[server location]
default : Eclipse Metadata안에 ..
D:\Eclipse workspace\.metadata\.plugins\org.eclipse.wst.server.core
[Dynamic web project]
<기본구조>
webcontent<root> - WEB-INF - Web.xml
<context root>
web.xml : 먼저 만들어야한다. 안에 구조에 대한 정보가 담겨져있음.
web.xml source
welcome-file-list
welcome-file : 초기파일
* HTTP Status 404 - 요청한자료를 찾을수 없을때 error
* xml file은 반드시 수정후 서버를 재시작해야 적용됨.
* 서블릿 : 서비를 제공하는 자바 클래스
<반드시 지켜줘야하는 옵션>
super class : javax.servlet.http.HttpServlet
<servlet>
<servlet-name>Hello_servlet</servlet-name>
: servlet name은 class를 부르는 이름.
<servlet-class>Hello.Hello_servlet</servlet-class>
: servlet class
</servlet>
<servlet-mapping>
<servlet-name>Hello_servlet</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
생성자 , init은 서버가 시작시부터 중단시까지 계속 실행.
서블릿 jsp의 장점 : 한번메모리에 생성시 계속...실행.
그래서 한번 시작시에는 느리지만, 그이후에는 빠름.
1. init(); : 처음 시작시 호출
2. service;
3. doget;
.....
4. destroy() : 종료시에 호출
.
* 서비스(service)
: 기본적으로 호출되는 메소드, http 전송방식(method)에 따라 doGet, doPost, 등을 호출
원래 doDelete 등등이 있는데 우린 doGet,doPost만 사용.
ex)
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.
}
사용자가 보낸 Data, 사용자가 요청한 data : request
사용자에게 보여주게 될 정보를 처리하는 것이 : response
response.getWriter(); : return PrintWriter
ex)
PrintWriter pw = response.getWriter();
pw.write("<h1> Hellow </h1>");
web.xml 기본구조
: 서비스가 핵심이다.
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
Servlet Class생성시.
javax.servlet.http.HttpServlet : 반드시 상속받아야함.
doGet
response.getWriter(); //return PrintWriter
PrintWriter : 클라이언트의 직접연결되어있는 IO객체
이번주내로 전체적인 그림을 잡을것.
처음 클라이언트의 요청을 하면 응답을 한다.
서버가 요청을 받아들여서 응답을 한다.
과정:
1. http://localhost:8080/pp/ok 를 호출(client에서 브라우져로)
2. Tomcat이 받아들인다.(요청주소를 파악)
//pp : pliotProject의 ok를 받아들임.
/ok - web.xml에서 찾는다.
ok -> web.xml ->okay<class name> -> OkayServlet을 실행.
3. OkayServlet.service()를 호출(Tomcat이 )
4. doGet(); 호출.
5. doGet(); 안에 있는 문장을 뿌려줌.
6. Client 브라우져에서 화면이 보인다.
7.<a href='Hello'>Go! Go! Go!!</a>
: 누르면 주소가 Hello를 바꿈.
8. 톰캣이 받아들임. (위에 2~4번을 실행) 대신에 Hello를 실행.
* service method는 자기가 다루지 말것.
* 웹은 보안이 중요하다.
* doGet,doPost외에는 해킹위험이 높기때문에
* doGet , doPost 방식만 처리하는 것이 권고사항.
* so, service를 건드리지 않을것!!!
앞으로 할것!! <Servlet 으로 방명록 기능 만들기>
방명록!!!
1.ip가져오게하기...
1. 글number , 작성자 , 글내용, 글쓴날짜, 비밀번호
글number = no primary key, writer =varchar2(50)
CREATE TABLE guestbook
(no NUMBER primary key,
writer VARCHAR2(50),
content VARCHAR2(4000),
wdate DATE DEFAULT SYSDATE,
pass VARCHAR2(50));
SELECT * FROM guestbook;
OK서블릿 , 헬로서블릿 반복해서 해볼것.
'웹 개발 > Servlet 기초' 카테고리의 다른 글
[Servlet 기초] 방명록 삭제기능 추가 및 JSP 추가설명 (0) | 2009.06.25 |
---|---|
[Servlet 기초] forward/redirect 복습 및 방명록 만들기 (0) | 2009.06.25 |
[Sevlet 기초] Sevlet 한글처리 와 forward/redirect (0) | 2009.06.25 |
[Sevlet 기초] 기초 셋팅 및 Hello Sevlet (0) | 2009.06.25 |