일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- #Git #Git Merge #깃 병합
- #JSP #Servlet #contextroot #contentdirectory
- #JSP #Servlet #@WebServlet #urlPatterns
- #JSP #Servlet #Ajax #에이젝스 #HTML #success #.HTML() #HTML로붙이기
- #.war #Export
- Listener #jsp #servlet #ServletContextListener #리스너
- #Servlet #servletClass #servletURL #servlet구현 #JSP
- JSP #Servlet #Exception #error #page #errorpage #exceptionPage #Customerror #톰캣 #404 #에러페이지 #java
- #게터 #세터
- Git #Stash #깃 #스테시 #임시저장 #소스트리 #협업툴
- JSP #Servlet #Exception #errorPage #web.xml #error-page #error-code #에러 #익셉션 #java
- #JSP #Servlet #제이에스피 #서블릿 #필터 #Filter @WebFilter #어노테이션필터
- #JAVA #정보은닉 #접근제어자 #private
- #JSP #Servlet #제이에스피 #서블릿 #필터 #filter #web.xml #필터예제 #filter예제
- #JSP #Servlet #제이에스피 #서블릿 #세션 #session #세션로그인 #세션예제
- #JSP #Servlet #세션 #Session #제이에스피 #서블릿 #web.xml #세션알림 #알림팝업 #세션알림팝업 #session-timeout
- #유틸클래스 #VO
- #깃 #Git #Git cherry-pick #체리픽 #깃 체리픽
- JAVA #JSP #Servlet #Exception #custom #익셉션 #에러처리 #에러
- #JSP #Servlet #서블릿 #쿠키 #cookie #Cookie #쿠키클래스 #쿠키유틸클래스 #cookieClass #cookieUtilClass #Cookie #제이에스피
- #JSP #Servlet #세션 #Session #제이에스피 #서블릿
- #JSP #Servlet #Exception #errorPage #web.xml #error-page #error-code #에러 #익셉션 #java
- Today
- Total
목록전체 글 (20)
David의 블로그
자바 혹은 JSP 웹 프로그래밍을 공부하거나 프로젝트를 하면서 많은 Exception을 접하곤한다. 특히나 개발을 하다보면 100% 완벽한 코딩은 없기에 버그나 오류를 접하는게 당연하다고 생각한다. 이번에는 custom Exception을 만들어보면서 유효성 체크 로직이나 필수값 입력 로직 Exception처리의 감을 잡을 수 있었다. custom Exception연습은 eclipse 다이나믹 프로젝트로 연습을 해 보았다. 프로젝트 패키지의 구조는 위의 이미지와 같다. [web.xml] 나는 web.xml에 태그를 선언하고 으로 모든 매핑 요청을 mainServlet클래스로 받게 끔 처리했다. [CustomException] CustomException 클래스인데 RuntimeException 클래스를 ..
[@WebServlet]어노테이션 @WebServlet 어노테이션은 servlet을 등록할 수 있는 방법중에 하나이다. 다른 하나의 방법은 [프로젝트]/WEB-INF 하위 폴더에 있는 web.xml에다가 태그를 써서 등록을 할 수 있다. @WebServlet 어노테이션을 쓰게된다면 web.xml에 등록 없이 쓸 수 있다. [urlPatterns] @WebServlet 어노테이션 속성값으로 urlPatterns를 지정할 수 있는데 servlet이 매핑할 URL을 적어주면 된다. 만약, 1가지 이상의 URL 을 쓸 수 있고, 2가지 이상이라면 배열값으로 지정하여 작성하면 된다. 나는 "/hello", "/test"라는 url로 매핑을 했다. [결과]
다양한 웹 프레임워크 출현으로 Servlet 을 직접 개발해야 하는 경우는 흔치 않다고 하지만, 웹 개발자라면 서블릿이 무엇이고 Servlet의 동작 방식을 이해하는 것은 필수라고 생각했다. 나 역시 정확한 사용방법 모르면서 느낌으로만 코딩을 했었다. 이 참에 직접 구현하고 정리하면서 많이 알게된 것 같다. 프로젝트는 eclipse로 Dynamic web project로 구현했다. 프로젝트 구성은 다음과 같고 context root는 servlet_practice로 설정했다. [Servlet 클래스 구현] Servlet 클래스를 구현하기 위해서 HttpServlet 클래스를 상속받아야 한다. 상속받았다면, 처리하고자 하는 HTTP 방식에 따른 알맞은 메소드를 정의한다. 나는 doGet()로 정의했다. d..
동접 웹 프로젝트 폴더 구조는 서블릿 규약에 정의되어 있는 폴더 구조가 다릅니다. 예를 들어 서블리 표준 규약은 WEB-INF/classes폴더에 자바소스가 컴파일 된 클래스 파일이 위치하지만, 동적 웹 프로젝트는 [프로젝트]/build 폴더에 위치합니다. 따라서, 개발한 코드를 실제 WAS에 배포를 하려면 서블릿 표준 규약에 맞춰줘야 합니다. 이는 매우 번거로울 수 있는 과정이기에 eclipse에서 .war export기능으로 쉽게 해결할 수 있습니다. 상단의 File > Export > Web > War file을 선택하면 위와 같은 이미지 화면이 나옵니다. Destiantion은 생성된 .war을 어디에 위치시킬지 경로를 묻는것이고 Export source files를 체크하면 자바 소스 파일을 포..
간단하게 eclipse로 Dynamic web project를 만들었다. 프로젝트 이름은 webProject1. context root 프로젝트 설정하다보면 context root라고 나오는데, 나는 webProject1이라 설정했다. 웹 어플리케이션의 컨텍스트 경로. 이 루트를 이용하여 우리가 실제 서버를 키면 http://서버:포트/[컨텍스트루트]
접근제어자 JAVA에서 객체 지향 프로그램에서는 예약어를 통해 메소드, 변수, 생성자에 접근할 때 접근 권한을 지정할 수 있습니다. 흔히들 접근제어자 'public'을 많이 씁니다. 여기서 정보은닉과 관련있는 private에 대해 다루어 볼려고 합니다. 정보은닉은 외부에서 내부 데이터를 가공하거나 들여다볼 수 없는 특성을 의미합니다. 소스를 통해 살펴보겠습니다. ||예시 getStudentName , setStudentName 메소드, 내부변수 studentID, studentName, grade, address정보가 있는 Student 클래스입니다. public class Student { int studentID; private String studentName; int grade; String ad..