WEB-INF 目录是必须的,其中包括:
- web.xml 文件,该 Web 基本配置,必须。
- classes 目录,存放
.class
文件,当然也可以将.java
文件一并放进去。 - lib 目录,存放依赖的 lib(.jar 包),如 JDBC 驱动。
WEB-INF 中的内容,不能通过地址栏直接访问,是相对安全的地方。若要访问,使用以下三种方式:
- 在 web.xml 中配置:
<servlet>
<servlet-name>test</servlet-name>
<jsp-file>/WEB-INF/test.jsp</jsp-file>
</servlet> - JSP 中:
<jsp:forward page="/WEB-INF/test.jsp">
- servlet 中:
request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request,response);
RequestDispatcher.forward()
方式不能访问 html 文件,原因是 jsp 被编译成了WEB-INF/test$jsp.class
,而 html 不编译,所以可以在tomcat/conf/web.xml
中配置,让其编译 html :<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>