본문 바로가기

Java/이론 및 용어7

오버라이드 시 @Override 를 꼭 쓰자 보통 상위 클래스를 상속해서 상위 클래스의 메소드를 오버라이드 할 때 굳이 오버라이드 어노테이션 @Override 를 사용하지 않아도 오버라이드한 메소드라는 걸 알아서 안쓰곤 했지만 " doGet 메소드는 HttpServlet의 doGet 메소드를 오버라이드하여 재정의한 메소드 입니다. 따라서 오버라이드한 메소드들을 @Override 어노테이션을 붙여주는 것이 좋습니다. 이유는 해당 메소드가 오버라이드 된 메소드라는 것을 명시적으로 알 수 있으며, 컴파일 시 상속한 부모 클래스에 해당 메소드가 있는지 여부등을 통해 예외를 발생할 수 있어 오류를 인지할 수 있기 때문입니다. 자세한 내용을 아래 링크 참고 부탁드립니다. " - moons 님의 코드리뷰 중 - 즉, 오버라이드 한 메소드라는 것을 명시적으로 해.. 2022. 8. 3.
디폴트 생성자의 super() 의미 이클립스 등의 IDE에서 서블릿을 생성시 아래 처럼 디폴트 생성자를 만들어주며, 그 안에는 super()가 있다 @WebServlet("/today") public class TodayServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public TodayServlet() { super(); } 자바에서는 명시적으로 생성자를 작성하지 않을 시, 자동으로 디폴트 생성자를 만들어준다 라고 알고 있다. 그러나 써도 코드의 수행에는 아무 문제가 없기에 냅두고 있었다 하지만! 부스트코스 코드 리뷰에서 리뷰어 moons님의 답변을 보면 "불필요한 또는 잘.. 2022. 8. 1.
do get 의 기본 완성 문구 서블릿을 만들때 do get 을 체크하면 아래와 같이 do get 메소드가 자동 완성이 된다 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().append("Served at: ").append(request.getContextPath()); } 여기서 response.getWriter().append("Served at: ").append(request.getContextPath()); 이 문구의 뜻을 알아보면 response 내의 getWriter() 메소드 실행 2022. 7. 12.
servlet 의 get / post 인코딩 방법 do와 post 메소드는 각각 인코딩 방법이 다르다 get 메소드를 사용 시 소스에서 헤드 사이에 을 넣어주면 된다 utf는 대 소문자 모두 사용가능하다 post 메소드를 사용 시 HttpServletRequest 의 상위 객체인 ServletRequest 가 가진 setCharacterEncoding() 메소드를 사용한다 post 메소드 내에서 인코딩 할 요청 데이터를 받기 전에만 setCharacterEncoding() 을 사용하여 인코딩 하면 된다 doPost(HttpServletRequest request, HttpServletResponse response)예외 등등{ request.setCharacterEncoding("utf-8"); // 요청 데이터 가져오기 전에 선언 짠! String n.. 2022. 7. 5.