예전과 지금의 uri의 설계는 조금 바뀐면이 많다.
예전 홈페이지의 경우에는 경로에 확장자가 있는경우가 많다.
멀리 갈것도 없다. 넥슨의 uri를 한번 보자.
보다시피 넥슨의 홈페이지는 asp로 되어있는 것을 볼 수 있다.
그러나 요즘에는 restful디자인이 아니라 할지라도 확장자를 사용하지 않는 것이 좋다.
디자인적인 측면에서, 보안적인 측면에서이다.
사실 다른 웹프로그래밍에서(nodejs,flask 등)는 url매핑이(endpoint지정) 매우 쉬운데 jsp는 조금 귀찮다.
물론 어렵지는 않다. servlet과 jsp는 살짝 방법이 다르다.
따라서 두가지 방법을 모두 보도록 하자.
servlet endpoint 지정
서블릿은 총 방법이 두가지가 있다.
둘중 뭘 쓸지는 상황에서 따라서 다르다.
일단 첫 방법은 애너테이션을 사용한 방법이다.
이 방법은 새로 서블릿을 만들 때 지정해 줄 수 있다.
일단 서블릿을 만들 때 무작정 Finish를 누르지 말고 Next를 눌러주자.
Next를 눌러보면 최근 eclispe에서는 자동으로 매핑되어있는 것을 알 수 있다.
여기서 mapping을 변경하거나 다른 url을 중복해서 사용해 줄 수도 있다.
변경하거나 손대지 않고 Finish를 눌러주자.
그러면 해당 클래스 위에 WebServlet 애너태이션이 생성된것을 알 수 있다.
이제 접근할때 해당주소로 접근한다. 물론 여기서 애너테이션을 변경해 줄 수 도 있다.
실행해보면 Hello로 매핑된 것을 알 수 있다.
다른 방법으로는 web.xml을 건드려 주는것이다.
web.xml을 열어주자.
여기서 추가된 소스는 아래와 같다.
<servlet>
<servlet-name>Hello-Servlet</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello-Servlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
보다시피 똑같은 효과를 낼 수 있다는 것을 알 수 있다.
여기서 궁금한건 첫번째가 좋은데 두번째 방법을 굳이 써야하느냐이다.
결론 부터 말하자면 이는 케이스 바이 케이스이다.
프로젝트가 커진다면 의외로 두번째 방법이 관리해주기 더 편하다.
즉 본인이 쉬운방법을 선택해주면 되겠다.
jsp endpoint 지정
jsp는 단한가지의 방법밖에 없다.
파일의 형태상 애너테이션 설치는 불가하므로 servlet에서 사용한 2번째 방법과 같은 원리를사용한다.
일단 jsp파일을 하나 만든다.
사용방식은 servlet과 매우 유사하나 같지는 않다.
<servlet>
<servlet-name>kukaro-jsp</servlet-name>
<jsp-file>/kukaro.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>kukaro-jsp</servlet-name>
<url-pattern>/kukaro</url-pattern>
</servlet-mapping>
먼저 servlet을 지정해주는건 같다. 그러나 jsp는 jsp-file을 호출해준다.
파일의 경우 WEB-INF를 /라고 생각하고 파일 아래에 존재한다면 추가로 디렉터리를 적어줘야한다.
그 외의 방식은 servlet과 동일하다.
보다시피 제대로 매핑이 됬음을 알 수 있다.
'Usage > Java-JSP-Tomcat' 카테고리의 다른 글
[JSP]jar파일 임포트하기 (1) | 2017.09.26 |
---|---|
[JSP]war파일 export하기, war파일 톰캣에서 실행 (0) | 2017.09.26 |
[JSP]web.xml 생성하기 (1) | 2017.09.26 |
[JSP] JSP파일 쓰고 톰캣에서 실행, IDE별 context루트 통일하기 (0) | 2017.07.13 |
[JSP]톰캣 서버 IntelliJ 구동,JSP 간단한 예제 실행 (0) | 2017.07.09 |