我们知道如何为 servlet 设置网址格式,但我无法在 web.xml中为html设置网址格式 ,你可以帮我找到解决方案,我用谷歌搜索但是,无法得到它,请在下面找我的问题。
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>auth.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
在上面的代码中我在 web.xml 中为**Login**
servlet类设置 url pattern ,就像我可以设置 url模式一样,用于 web.xml 中的html文件
请帮助找到解决方案,提前谢谢
答案 0 :(得分:1)
URL模式适用于servlet和过滤器。 对于servlet
<servlet-mapping>
<servlet-name>Servlet-name</servlet-name>
<url-pattern>/< Pattern ></url-pattern>
</servlet-mapping>
For Filter
<filter-mapping>
<filter-name>Filter-Name</filter-name>
<url-pattern>/< Pattern ></url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
那些不适用于Html文件。 事实上,JSP也没有模式配置。
答案 1 :(得分:1)
如果你想保护* .html文件不被直接访问(通过在WEB-INF下放置* .html文件),你可以使用一个Servlet,它只负责将所有这些请求转发到预期的html文件。
<servlet>
<servlet-name>HTMLServlet</servlet-name>
<servlet-class>my.package.HTMLServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HTMLServlet</servlet-name>
<url-pattern>/somepath/*.html</url-pattern>
</servlet-mapping>
servlet类中的代码可能如下所示
...
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String requestedPath = //... code for getting requested HTML path
request.getRequestDispatcher(requestedPath).forward(request, response);
}
...
答案 2 :(得分:1)
如果您不介意将HTML页面更改为JSP,可以像这样设置url模式:
<servlet>
<servlet-name>Error</servlet-name>
<jsp-file>/pages/error.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>Error</servlet-name>
<url-pattern>/error</url-pattern>
</servlet-mapping>