0C 개발일지

[JSP & Servlet 구현] 환경설정 본문

WEB

[JSP & Servlet 구현] 환경설정

0C 2024. 4. 17. 22:10

JSP & Servlet 을 이용한 게시판 만들기, 복습 할 겸 정리

 

 

 


 

1. 기본적인 패키지/파일 생성/라이브러리 추가
 2. script 파일 만들기(예시) + DTO 

create table tblUser (
    id varchar2(50) primary key,                   
    pw varchar2(50) not null,                      
    name varchar2(50) not null,                    
    email varchar2(100) not null,                  
    lv number(1) not null,                          
    pic varchar2(100) default 'pic.png' not null,
    intro varchar2(500) null,                       
    regdate date default sysdate not null,         
    ing number(1) default 1 not null                
);

 

create table tblBoard (
    seq number primary key,                         
    subject varchar2(300) not null,                 
    content varchar2(4000) not null,                
    id varchar2(50) not null references tblUser(id),
    regdate date default sysdate not null,        
    readcount number default 0 not null,            
    thread number not null,                     
    depth number not null,                        
    attach varchar2(100) null                     
);

 

 

package com.test.toy.user.model;

import lombok.Data;

@Data
public class UserDTO {
	
	private String id;
	private String pw;
	private String name;
	private String email;
	private String pic;
	private String intro;
	private String regdate;
	private String lv;
	
	
}



3. 가상 주소 설정하기

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>TodoList</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>default.htm</welcome-file>
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>main</servlet-name>
  	<servlet-class>com.test.todo.Main</servlet-class>
  </servlet>
  <servlet-mapping>
    	<servlet-name>main</servlet-name>
    	<url-pattern>/main.do</url-pattern>
  </servlet-mapping>
  
    <servlet>
  	<servlet-name>addok</servlet-name>
  	<servlet-class>com.test.todo.AddOk</servlet-class>
  </servlet>
  <servlet-mapping>
    	<servlet-name>addok</servlet-name>
    	<url-pattern>/addok.do</url-pattern>
  </servlet-mapping>
  
    <servlet>
  	<servlet-name>checkok</servlet-name>
  	<servlet-class>com.test.todo.CheckOk</servlet-class>
  </servlet>
  <servlet-mapping>
    	<servlet-name>checkok</servlet-name>
    	<url-pattern>/checkok.do</url-pattern>
  </servlet-mapping>
  
    <servlet>
  	<servlet-name>delok</servlet-name>
  	<servlet-class>com.test.todo.DelOk</servlet-class>
  </servlet>
  <servlet-mapping>
    	<servlet-name>delok</servlet-name>
    	<url-pattern>/delok.do</url-pattern>
  </servlet-mapping>
  
</web-app>


/WEB-INF는 웹서버가 사용하는 파일이 들어 있는 중요한 디렉토리로, 외부에서 클라이언트가 곧바로 접근할 수 없다.

클라이언트가 서블릿에 접근하기 위해  web.xml와 annotation을 이용하여 서블릿 접근 경로를 지정할 수 있다.


web.xml 파일은 웹애플리케이션에 관한 환경설정 파일로써,

웹 서버가 시작할 때, web.xml 파일에 설정된 내용대로 서비스된다.

 

<servlet>
  <servlet-name> </servlet-name>
  <servlet-class> </servlet-class>
</servlet>


<servlet> 태그는 HttpServlet을 상속받고 있는 클래스를 web.xml에 등록할 때 사용하며, 반드시 하위에 <servlet-name>과 <servlet-class>를 가져야 한다. 
<servlet-name> 태그는 등록하는 서블릿의 이름을 부여한다. 서블릿의 이름은 실제 존재하는 이름이 아니라 개발자가 지정하는 이름이다. 서블릿 이름으로 지정한 이후에는 클래스 이름으로 사용하면 안된다.

<servlet-class>는 등록하는 서블릿의 실제 클래스 이름을 지정한다. <servlet-class>에 지정된 정보로 웹서버가 서블릿의 객체를 찾아 올바르게 서블릿에 관한 설정을 할 수 있다. 패키지명과 함께 대소문자를 구분하여 정확하게 작성해야 한다.

<servlet-mapping>
  <servlet-name></servlet-name>
  <url-pattern></url-pattern>
<servlet-mapping>



<servlet-mapping> 태그는 web.xml에서 <servlet> 태그로 등록한 서블릿을 실행 요청할 때 사용할 URI을 지정하기 위해 사용한다. 
<servlet-name> 은 실행할 서블릿 이름을 지정한다. 이때 지정하는 이름은 반드시 <servlet>태그에서 등록한 서블릿 이름으로 지정해야 하며,  만약 태그에서 등록하지 않은 이름으로 설정하면 오류가 발생한다.


<url-pattern>태그는 서블릿을 실행할 때 사용할 URL 을 지정한다.  URL 을 지정할 때, 'http://서버주소:포트번호:/웹 애플리케이션 이름'까지는 생략한다.

 

package com.test.toy;

import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/index.do")
public class Index extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/views/index.jsp");
		dispatcher.forward(req, resp);

	}
	
	
}

 


annotation 은 소스 안에 @ 기호와 함께 사용된다. annotation  을 통해 접근하려면 서블릿 클래스 선언부 앞에 @WebServlet(접근시 사용할 URL)를 지정하면 된다.

 

'WEB' 카테고리의 다른 글

JDBC 템플릿  (0) 2024.04.16
[JavaScript] Page 이동  (0) 2024.04.16
favicon(파비콘) 적용하기  (0) 2024.04.12
JSP & Servlet Template 이클립스 설정  (0) 2024.04.12
JDBC 정리  (2) 2024.04.07