>Java >java지도 시간 >Java 웹 프로젝트가 html 파일에 액세스할 수 없는 문제를 해결하는 방법

Java 웹 프로젝트가 html 파일에 액세스할 수 없는 문제를 해결하는 방법

WBOY
WBOY앞으로
2023-04-27 20:34:121750검색

함정 문제 및 이유

함정 문제

블로거의 JavaWeb은 집중 코스이므로 일부 지식 포인트에 익숙하지 않아서 오늘의 문제가 발생합니다. Tomcat이 html 파일에 액세스할 수 없습니다.

404는 실행 시 항상 나타납니다. 이런 일이 일어날 때마다 짜증나고 혼란스럽습니다. 이 문제는 실제로 일부 프로젝트에 큰 영향을 미치지 않지만 내 프로젝트 디렉토리를 매우 복잡하게 만들 것입니다. 일반적으로 문제는 이를 해결하지 않으면 한 폴더에 정적 리소스가 잔뜩 나타난다는 것입니다. 이로 인해 나중에 일부 프로젝트 파일을 찾는 데 시간이 오래 걸릴 수 있습니다.

함정의 이유

부주의로 인해 WEB-INF 아래에 HTML 파일 몇 개를 넣어두었습니다. WEB-INF 아래의 리소스는 직접 접근할 수 없기 때문에(WEB-INF는 Java의 웹 애플리케이션 보안 디렉터리로 서버에만 열려 있고 클라이언트에는 보이지 않습니다.) 요청과 전달을 통해서만 접근할 수 있습니다. 따라서 브라우저에서는 접근할 수 없습니다. (리디렉션도 불가능합니다.)

Java Web项目访问不到html文件怎么解决

Solution

위에서 언급했듯이 직접 접근이 불가능합니다. 하지만 전달 및 요청을 통해 html 파일에 액세스할 수 있습니다. 이 프로젝트에서 블로거는 요청 액세스를 사용합니다. 즉, 프런트 엔드는 먼저 백 엔드에 신호를 보냅니다. 이는 특정 웹 페이지를 요청해야 함을 나타냅니다. 그런 다음 백엔드는 그에 따라 반응한 다음 반환되어 해당 인터페이스로 점프합니다.

public class regist extends ssm.ViewBaseServlet{//继承了一个类,这个类就是用来解析html时用的。
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     super.processTemplate("/user/regist",req,resp);//调用了类的方法,其实这个地方可以选择转发更方便!
    }

Web.xml 구성:

    <servlet-name>jump</servlet-name>
    <servlet-class>database.jump</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>jump</servlet-name>
    <url-pattern>/jump</url-pattern>
  </servlet-mapping>

또는 Java 파일에 @WebServlet("/login")을 추가하세요.

물론 정적 리소스와 동일한 수준으로 WEB-INF 외부에 정적 리소스를 배치할 수도 있습니다. 일반적으로 외부에 배치하는 경우 권한 확인을 완료하고 합법적인 사용자를 확인하기 위해 인터셉터/필터를 사용해야 합니다.

위 내용은 Java 웹 프로젝트가 html 파일에 액세스할 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제