# 경로 설정
- 다음 두개의 url주소 차이점
현재 페이지 경로가 localhost:8282/test/board/a.jsp
[a.jsp]
<a href="/b.jsp"> 연결 </a>
<a href="b.jsp"> 연결 </a>
html에서
/b.jsp : webapps를 말하며, 플젝명 미포함 => localhost:8282/b.jsp( 플젝명이 미포함 )
b.jsp : 상대경로로서 현재 주소경로를 말함 => localhost:8282/test/board/b.jsp
jsp에서( <% %>이나 서블릿에서 )
/b.jsp : 플젝명을 말함??? response.sendRedirect() 에서는 html과 똑같은데?
web.xml의 url-pattern에서
/b.jsp : 플젝명말함 => localhost:8282/test/b.jsp
# getContextPath() vs getRealPath("/")
ex) localhost:8282/ppp1/b.jsp
========================
<%
String path = request.getContextPath(); //=> /ppp1
out.println(path);
String path1 = application.getRealPath("/"); //=> c:~~~/플젝명/
String path1 = application.getRealPath("/aa/bb"); //=> c:~~~/플젝명/aa/bb
out.println(path1);
%>
즉, getContextPath는 현재 플젝명을 얻어오고
getRealPath("/")는 절대경로... 물리적인? 경로부터해서 플젝명까지 얻어온다
getRealPath("/bb")는 위 물리경로에서 플젝명 + /bb 까지의 경로를 얻어온다
<%@ page language= "java" contentType ="text/html; charset=EUC-KR"
pageEncoding= "EUC-KR" %>
<%@ page import="java.io.*" %>
<%
String path=application.getRealPath("/");
File f=new File(path);
for(String s : f.list()){
out.println(s+"<br>");
out.println("<a href="+s+">"+ s +" </a><br>");
}
%>
- 파일을 경로로 읽어서 f.getName()으로 파일이나 디렉토리이름을 얻을수있음
#서블릿 url패턴 이해하기
11 22 출력되게하시오
- 서블릿만들고 이름이랑 패키지는 아무거나하되 대신 web.xml 수정할것
- 서블릿으로만들면 자동으로 web.xml에 해당서블릿부분이 생길것이고
만약 클래스로만들면 수동으로 내가 web.xml에 서블릿부분 추가해줘야함
web.xml의 해당 서블릿부분에 url-pattern부분에 url주소를 내가 정해준다
- 만약 /abc.do 하면 앞으로 이 서블릿을 호출할때에는
url에 프로젝트명/abc.do 를 통해 이 서블릿을 호출한다
그리고 위에처럼 url에 속성과 값을 넘겨주는것은 get방식이므로
서블릿의 get메서드부분을 호출하므로 그안을 원하는대로 처리해주면됨
'JSP' 카테고리의 다른 글
JSP 액션태그 ( <jsp:useBean> ) (0) | 2019.03.27 |
---|---|
JSP 에러 페이지 설정 (0) | 2019.03.27 |
include지시자 / 쿠키 (0) | 2019.03.09 |
DB풀링기법(커넥션풀) (0) | 2019.03.09 |
현재 접속자수 표시 (0) | 2019.03.09 |