728x90
728x90

Servlet 12

Spring에 Servlet, Build Plugin, web.xml 적용 (javax.servlet-api 3.1.0, maven-compiler-plugin)

Maven Spring Project에 Servlet 적용하기 1. 메이븐 리포지토리(https://mvnrepository.com)에서 "javax.servlet"를 검색합니다. 검색된 결과 중에 "Java Servlet API"를 선택하고 "Version"중에서 "3.1.0"를 선택합니다. 그리고 Maven 탭을 선택하고 복사합니다. javax.servlet javax.servlet-api 3.1.0 provided 2. 메이븐 프로젝트에서 pom.xml 파일을 오픈하고 복사한 내용을 붙여 넣기하고 저장합니다. 그러면 자동으로 Spring Framework 라이브러리 파일(JAR)들이 다운로드됩니다. javax.servlet-api-3.1.0.jar 메이븐 프로젝트에서 "Maven Update Pro..

자바 서블릿으로 컨트롤러 만들기(모델뷰 처리) 3 - Java Servlet Controller ModelAndView, 이클립스(Eclipse)

컨트롤러(Controller)의 리턴 값으로 "RequestDispatcher"를 사용하기 때문에 JSP 페이지 처리에는 문제가 없지만 "Ajax" 요청을 처리할 수 없습니다. 그리고 서비스(Service Class)에도 "HttpServletRequest request", "HttpServletResponse", "RequestDispatcher"를 사용하고 있어 클래스간의 의존관계가 높습니다. 그래서 "RequestDispatcher"대신 새로운 처리 전달 객체를 만들어 처리 조건에 따라 JSP 페이지 처리나 Response이 처리되게 하겠습니다. 그리고 서비스(Service Class)에서도 의존관계를 줄이기 위해 "RequestDispatcher"와 "request.setAttribute"를 대처..

자바 서블릿으로 리퀘스트 매핑 (클래스 동적 로딩) 2 - Java Servlet(DispatcherServlet) Request Mapping, 이클립스(Eclipse)

6. "TestService1.java"에 "ITestService.java" 인터페이스가 구현(implements)되도록 코드를 수정합니다. public class TestService1 implements ITestService { "TestService1.java"에 "ITestService.java"의 "doProcess"메서드를 구현합니다. @Override public RequestDispatcher doProcess(HttpServletRequest request, HttpServletResponse response) { request.getSession().setMaxInactiveInterval(1000); TestSessionCounter testSessionCounter = TestS..

자바 서블릿으로 리퀘스트 매핑 (프로퍼티와 인터페이스처리) 1 - Java Servlet(DispatcherServlet) Request Mapping, 이클립스(Eclipse)

"TestDispatcherServlet.java"의 "service"에서 "*.do"로 요청되는 요청(Request)들을 URL별로 처리하게 하였습니다. 그러나 새로운 요청(Request)을 처리할 때마다 URL별로 처리하는 코딩을 추가해야 합니다. ​ 그래서, 모든 요청(Request)에 대해 자동으로 서비스(Service Class)로 호출되어 처리될 수 있게 요청(Request)과 서비스(Service Class) 매핑한 "Request Mapping"을 만들고 요청 시 처리하게 수정하겠습니다. 이전 자바 클래스 동적 로딩(carrotweb.tistory.com/53)과 프로퍼티(properties)를 이용하여 코딩하겠습니다. 1. "test2" 프로젝트의 "Java Resources"에 "src..

자바 서블릿 폼 연동 - Java Servlet Form, 이클립스(Eclipse)

1. "test2" 프로젝트의 "src > main > webapp > WEB-INF > jsp"에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > JSP File]를 클릭하여 "testform.jsp"파일을 생성한다. ​ "testform.jsp"파일에 ""를 추가합니다. 전송 2. "testform.do"으로 요청이 들어오면 "testform.jsp"이 연동되도록 "TestDispatcherServlet.java"의 "service"메소드에 추가합니다. } else if ("/testform.do".equals(requestURI)) { request.setAttribute("errorMessage", ""); requestDispatcher = request.getRequestDispatcher..

자바 서블릿으로 요청 처리 2 - Java Servlet(DispatcherServlet) Request, 이클립스(Eclipse)

5. "test2" 프로젝트의 "Java Resources"에서 "src/main/java"의 "com.home.project.test2"를 선택한 후 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > Package]를 클릭합니다. "New Java Package"창이 나타납니다. "Name"에서 기존 패키지명에 ".service"를 추가하고 "Finish"버튼을 클릭합니다. ​ 추가된 "com.hom.project.test2.service"에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > Class]를 클릭합니다. "New Java Class"창이 나타납니다. "Name"에서 "TestService1"를 입력하고 "Finish"버튼을 클릭합니다. ​ "test2" 프로젝트의 "Java Resour..

자바 서블릿으로 요청 처리 1 - Java Servlet(DispatcherServlet) Request, 이클립스(Eclipse)

이전에 이클립스 서블릿 JSP - Eclipse Servlet JSP RequestDispatcher.forward으로 연동하기를 통해 Servlet으로 요청을 받아 처리한 후 JSP 페이지로 화면을 처리할 수 있게 해봤습니다. 이번에는 하나의 서블릿으로 모든 요청들을 받아서 처리한 후 JSP 페이지로 화면을 처리할 수 있게 해보겠습니다. 이 구현은 "Spring Framework"의 "DispatcherServlet"이 처리하는 방식을 개념적으로 이해하기 쉽게 간단하게 구현한 것입니다. ​ 프레임워크를 사용하지 않는 일반적인 웹 프로젝트에서는 웹 경로가 노출되어 보안에 취약합니다. 그래서 프레임워크 기반의 웹 프로젝트들은 jsp파일의 경로가 노출되지 않게 서블릿을 기반으로 모든 요청을 받아 처리하고 j..

자바 서블릿 JSP 연동 - Java Servlet JSP RequestDispatcher.forward, 이클립스(Eclipse)

1. "Project Explorer"의 "test2"에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > Servlet]를 클릭합니다. "Create Servlet"창이 나타납니다. Servlet를 생성하기 위해 "Java package"와 "Class name"를 입력합니다. "Java package"에는 "test2" 프로젝트의 "Group Id"인 "com.home.project"와 프로젝트명을 결합하여 입력합니다. "com.home.project.test2"을 입력합니다. 패키 지명은 클래스 파일들이 저장되는 곳으로 다른 패키지들과 구분되는 고유 값이어야 합니다. "Class name"은 서블릿명입니다. "TestServletJsp"을 입력합니다. ​ 입력하고 "Next >"버튼을 클릭합니다...

이클립스 다이나믹 웹 모듈 4.0 서블릿 만들기 - Eclipse Dynamic Web Module 4.0 Servlet

Dynamic Web Module 4.0 버전은 Java 1.8 버전 이상과 Servlet API 4.0 버전(servlet-api-4.0.0.jar) 이상 필요합니다. 그리고 Tomcat 9 버전 이상에서 구동됩니다. ​ "pom.xml"의 "servlet-api"의 버전은 최소 "4.0.0"이상이어야 합니다. "servlet-api"의 버전을 "4.0.1"로 하겠습니다. javax.servlet servlet-api 4.0.1 provided 1. test2 프로젝트의 "pom.xml"을 오픈하여 "Java.servlet-api"의 버전을 "3.1.0"에서 "4.0.1"로 변경하고 저장합니다. "pom.xml"에서 변경된 정보에 맞게 다운로드되고 자동으로 빌드를 됩니다. ​ test2 프로젝트의 "J..

이클립스 다이나믹 웹 모듈 3.1 서블릿 만들기 - Eclipse Dynamic Web Module 3.1 Servlet

Dynamic Web Module 3.1 버전은 Java 1.7 버전 이상과 Servlet API 3.1 버전(servlet-api-3.1.0.jar) 이상 필요합니다. 그리고 Tomcat 8 버전 이상에서 구동됩니다. ​ "pom.xml"의 "servlet-api"의 버전은 최소 "3.1.0"이상이어야 합니다. javax.servlet servlet-api 3.1.0 provided 1. Project Explorer의 test2 프로젝트에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [Properties]를 클릭합니다. Properties창에서 Project Facets를 선택하고 Dynamic Web Module의 버전을 "3.0"에서 "3.1"으로 변경하고 "Apply and Close"버튼을 클릭합니..

이클립스 다이나믹 웹 모듈 3.0 서블릿 만들기 - Eclipse Dynamic Web Module 3.0 Servlet

Dynamic Web Module 3.0 버전은 Java 1.6 버전 이상과 Servlet API 3.0 버전(servlet-api-3.0.1.jar) 이상 필요합니다. 그리고 Tomcat 7 버전 이상에서 구동됩니다. ​ "pom.xml"의 "servlet-api"의 버전은 최소 "3.0.1"이상이어야 합니다. javax.servlet servlet-api 3.0.1 provided 1. Project Explorer의 test2 프로젝트에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [Properties]를 클릭합니다. Properties창에서 Project Facets를 선택하고 Dynamic Web Module의 버전을 "2.5"에서 "3.0"으로 변경하고 "Apply and Close"버튼을 클릭합니..

이클립스 다이나믹 웹 모듈 2.5 서블릿 만들기 - Eclipse Dynamic Web Module 2.5 Servlet

Dynamic Web Module은 동적(다이나믹) 웹 페이지 콘텐츠 생성을 위해 Java Servlet API에 대한 지원 합니다. ​ Dynamic Web Module 2.5 버전은 Java 1.5 버전 이상과 Servlet API 2.5 버전(servlet-api-2.5.jar) 이상 필요합니다. 그리고 Tomcat 6 버전 이상에서 구동됩니다. (Dynamic Web Module 버전에 따라 Java 버전과 Servlet API 버전이 변경되어야 합니다.) ​ "pom.xml"의 "servlet-api"의 버전은 "2.5"이상이어야 합니다. javax.servlet servlet-api 2.5 provided 메이븐 프로젝트(Maven Project)를 생성하면 기본적으로 Dynamic Web M..

728x90
728x90