웹-info 의 자원 보호 정책
jsp:forward 사용
페이지 에 jsp:forward 를 직접 사용 합 니 다.예 를 들 어
웹 xml 설정
<!-- -->
<servlet>
<servlet-name>test</servlet-name>
<jsp-file>/WEB-INF/view/thinking/test.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test.jsp</url-pattern>
</servlet-mapping>
이렇게 하면 브 라 우 저 에 다음 과 같이 입력 할 수 있 습 니 다.(주:D 는 프로젝트 이름)
http://localhost:8888/D/test.jsp
이렇게 설정 하면 하나의 파일 만 을 대상 으로 할 수 있 습 니 다.여러 파일 을 보호 해 야 한다 면 설정 파일 이 비대 해 집 니 다.
3.차단기 이용
스스로 클래스 를 만들어 서 차단기,차단기 류 를 충당 하 다
package net.cokeframework.Dispather;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Dispather extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
static String pubInit = "";
static String selInit = "";
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
if (pubInit == "") {
pubInit = this.getServletContext().getInitParameter("root");
}
if (selInit == "") {
selInit = this.getInitParameter("child");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String spath=req.getServletPath();//servlet
String cpath=req.getContextPath(); //Context .
String url=req.getRequestURI();//url
String path=pubInit+selInit+url.substring((cpath+spath).length());//
//System.out.println("spath:\t"+spath+"
cpath:\t"+cpath+"
url:\t"+url+"
path:"+path);
req.getRequestDispatcher(path).forward(req, resp);
}
}
이 를 통 해 알 수 있 듯 이 이 차단 기 는 특별한 것 이 없고 요청 한 자원 의 진정한 경 로 를 연결 하여 서버 의 퍼 가기 요청 을 이용 합 니 다.
물론 참고 로 sendRedirect 를 사용 할 수 없습니다.간단 한 방향 을 바 꾸 기 위해 클 라 이언 트 의 자원 으로 만 전송 할 수 있 습 니 다.sendRedirect 를 사용 할 수 없습니다.getRequestDispatcher 는 서버 의 자원 간 에 전송 할 수 있 습 니 다.그들 간 의 다른 차이 점 은 본 논문 에서 토론 하 는 범위 가 아 닙 니 다.
웹.xml 동시 설정
<!-- -->
<context-param>
<param-name>root</param-name>
<param-value>/WEB-INF</param-value>
</context-param>
<servlet>
<servlet-name>dis</servlet-name>
<servlet-class>net.cokeframework.Dispather.Dispather</servlet-class>
<init-param>
<param-name>child</param-name>
<param-value>/view</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dis</servlet-name>
<url-pattern>/dis/*</url-pattern>
</servlet-mapping>
이렇게 하면 view 폴 더 에 접근 할 수 있 습 니 다.예 를 들 어
http://localhost:8888/D/dis/study/test.jsp
웹-inf/view/study/test.jsp 에 접근 할 수 있 습 니 다.
이상 은 개인 적 인 견해 일 뿐 입 니 다.다른 더 훌륭 한 방법 이 있 으 면 알려 주 십시오.
별도로 공사(lomboz 를 이용 하여 제작)를 바 쳐 토론 하기 편리 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| EL (Experession Language)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.