JSP Servlet

JSP Servlet Maven

wanttosleep1111 2023. 2. 13. 22:00

JSP Servlet Maven

 

1. Maven

  • Apache 사에서 만든 빌드 툴(build tool)
    bulid : 프로젝트를 위해 작성한 코드나 여러 자원을 jvm이나 was가 인식 가능 구조로 패키징 하는 과정, 컴파일 뿐만 아니라 테스팅 및 배포까지 일련의 작업을 포함
  • Maven 필요 이유
    각 팀원이 똑같은 개발을 하기 위해서는 같은 버전의 파일을 사용해야 한다.
  • pom.xml 파일을 통해 정형화된 빌드 시스템으로 프로젝트를 관리
  • 라이브러리 관리가 용이, 정해진 빌드 방법을 사용해 협업에 유리, 다양한 플러그인을 통해 많은 작업이 자동화

 

2. Maven 설치

 

Group Id 설정 후 설치 시작 → y 누르기

 


 

3. Maven 설정

 

  • JRE System Library, MavenDependencies 체크 후 Apply and Close

 

※ index.jsp 오류 해결
① pom.xml <properties> 안의 버전 1.8로 모두 수정 → Maven Project → Maven → Update Project에서 업데이트 → 1.8버전 확인

 

② pom.xml <dependencies> 의존성 라이브러리 안에 dependency를 이용해 라이브러리 추가

https://mvnrepository.com/ → java servlet 라이브러리 코드 복사 붙여넣기 → Maven update

 

그래도 오류나면 index.jsp 내용을 잘라내기 하고 다시 붙여넣기

 

  • ojdbc 8버전 라이브러리 설치 후 Maven project 라이브러리 확인

 

 

 

※ Servlet 파일 삭제할 때 WEB-INF 폴더에 있는 web.xml의 servlet과 servlet-mapping을 모두 삭제해야함

 


 

▶ 예제

Model2 기법을 이용해 로그인 프로그램 작성하기

 

DAO 로그인 메소드

// 로그인을 위한 메소드 생성
	String name = null;
	public String login(DTO dto) {
		getCon();
		
		String sql = "SELECT NAME FROM MEMBERINFO WHERE ID=? AND PW=?";
		
		try {
			psmt = conn.prepareStatement(sql);
			psmt.setString(1, dto.getId());
			psmt.setString(2, dto.getPw());
			
			rs = psmt.executeQuery();
			
			if (rs.next()) {
				name = rs.getString(1); // rs.getString("NAME")
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			close();
		}
		return name;
	}

 

LoginProgram

package com.onlyPractice.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.onlyPractice.model.DAO;
import com.onlyPractice.model.DTO;

public class LoginProgram extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	request.setCharacterEncoding("UTF-8");	
	// 로그인 기능 연결
	String id = request.getParameter("id");
	String pw = request.getParameter("pw");
	
	// DB에 해당 로그인 정보 전달
	DAO dao = new DAO();
	String result = dao.login(new DTO(id, pw)); // 로그인 메소드에 따른 결괏값 저장
	
	// 로그인 성공 시 result에 name
	// 로그인 실패 시 result에 null
	
	if (result != null) {
		// 로그인 성공 -> 포워드 방식 사용
		RequestDispatcher rd = request.getRequestDispatcher("LoginSuccess.jsp");
		request.setAttribute("name", result);
		rd.forward(request, response);
	} else {
		// 로그인 실패
		response.sendRedirect("LoginFail.jsp");
	}
	}

}