이러쿵 저러쿵

Dogeun Lee·2023년 4월 25일
0

1. 서블릿 연결

full path는 서블릿의 경로를 통해서 포트번호, 서블릿이름, 해당서블릿의 위치가 보인다. 그래서 보안 취약함.
  • 따라서 mapping을 사용한다. context-path는 그대로 똑같이 사용.
  • "닉네임을 부여한다."라고 생각하면 편하다.
  • "닉네임을 주는 것" = servlet Mapping이라고 한다.
  • xml에 직접 맵핑하는 것도 방법이지만 요즘은 @annotaion을 사용.
  • 하지만 xml을 사용하는 경우도 종종 있으니 알아두어야한다.

<!-- 특정 클래스를 Servlet으로 등록하고 이름을 지정하는 태그 -->
  <servlet>
  	<!-- 해당 Servlet을 부르기 위한 이름 지정 -->
  	<servlet-name>ex1</servlet-name>
  	
  	<!-- Servlet으로 등록하고자 하는 클래스의 패키지명+클래스명 -->
  	<servlet-class>edu.kh.servlet.controller.ServletEx1</servlet-class>
  </servlet>
  
  <!-- 요청 주소를 처리할 Servlet을 지정 -->
  <servlet-mapping>
  	<!-- 요청을 처리할 Servlet의 이름 -->
  	<servlet-name>ex1</servlet-name>
  	
  	<!-- 요청 주소 작성(앞에 프로젝트명까지는 제외) -->
  	<!-- [/ServletProject1]   /example1.do -->
  	<url-pattern>/example1.do</url-pattern>
  </servlet-mapping>

2. VO만들기

  • 예를들어 아래와 같은 테이블이 존재한다고 가정한다.
REATE TABLE "MEMBER" (  
   "MEMBER_NO"   NUMBER   PRIMARY KEY,
   "MEMBER_EMAIL"   VARCHAR2(50) NOT NULL,
   "MEMBER_PW"   VARCHAR2(30) NOT NULL,
   "MEMBER_NICK"   VARCHAR2(30) NOT NULL,
   "MEMBER_TEL"   CHAR(11) NOT NULL,
   "MEMBER_ADDR"   VARCHAR2(500),
   "PROFILE_IMG"   VARCHAR2(200),
   "ENROLL_DT"   DATE DEFAULT SYSDATE ,
   "SECESSION_FL"   CHAR(1)   DEFAULT 'N'
);
  • 테이블의 9개의 요소들을 VO 클래스에서 작성하면
public class Member { 
private int memberNo;
private String memberEmail;
private String memberPw;
private String memberNickname;
private String memberTel;
private String memberAddress;
private String profileImage;
private String enrollDate;
private String secessionFlag;}

+ 추가해야할 사항들

  • 기본생성자
  • getter / setter
  • toString()
  • 모든 필드 초기화하는 매개변수 생성자

3. 위의 VO에서 DAO를 작성



	public List<Member> selectAll(Connection conn) throws SQLException {
    
		List<Member> memberList = new ArrayList<>();
		Member member = null;

		try {
        
			String sql = "SELECT ?, ?, ?, ?, ?, NULL, DEFAULT, DEFAULT FROM MEMBER";

			pstmt = conn.prepareStatement(sql);

			rs = pstmt.executeQuery();

			while(rs.next()) {
				member = new Member();

				member.setMemberNo(rs.getInt(1));
				member.setMemberEmail(rs.getString(2));
				member.setMemberNickname(rs.getString(3));
				member.setMemberNickname(rs.getString(4));
                member.setMemberTel(rs.getString(5));

				memberList.add(member);
			}
		}finally {
			close(rs);
			close(stmt);
		}
		return memberList;
	}

4. Welcom.xml

  • WEB.xml : WebApplication Deployment Descriptor(배포 설명자)
  • 애플리케이션의 클래스, 리소스, 구성 및 웹 서버가 웹 요청을 처리하는 방법을 기술하는 곳이다.
  • Welcome Files : 웰컴 파일이란, 디렉토리의 기본 웹 페이지이다. 클라이언트가 서블릿 이름을 생략하고 디렉토리까지만 지정해서 요청한다면, 웹 서버는 해당 디렉토리에서 웰컴 파일을 찾아서 응답한다.
  • 최초 연결 페이지

5. UTF-8 한글 인코딩

JSP 상단
<%request.setCharacterEncoding("utf-8");%>

6. Redirect

profile
오대수

0개의 댓글