3

we know how to set url pattern for servlet but I am unable to set url pattern for html in web.xml, can u help me to find solution, I googled but, can't able to get it, please find below for my problem.

<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>

in above code I am setting url pattern for **Login** servlet class in web.xml, like wise can I able to set url pattern for html file in web.xml pls help to find solution thank you in advance

3
  • 1
    Hello, it's unclear what you are asking. Kindly be much more specific including things you have tried, for example regular expressions. Thanks! Hurry too, because this questions may get closed soon. Commented Apr 20, 2015 at 9:49
  • @Drakes i clearly mentioned in web.xml Commented Apr 20, 2015 at 9:57
  • I can sense that you are frustrated, so I'm going to bow out of this. Your answer is at this link. Best of luck. stackoverflow.com/questions/14018215/… Commented Apr 20, 2015 at 10:06

3 Answers 3

1

If you want to protect *.html files from direct access (by placing *.html files under WEB-INF) you can use a Servlet which would be only responsible for forwarding all such requests to intended html files.

<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>

Code in servlet class may look like this

...
protected void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws ServletException, IOException {
  String requestedPath = //... code for getting requested HTML path
  request.getRequestDispatcher(requestedPath).forward(request, response);
}
...
Sign up to request clarification or add additional context in comments.

Comments

1

If you don't mind to change your HTML page to JSP you can set url pattern for it like this:

<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>

1 Comment

You don't need to change the page to a JSP. An HTML file will work just fine: <jsp-file>/pages/error.html</jsp-file>
1

URL pattern are for servlet and filters. For 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>

Those are not for Html file. Infact there are no pattern configuration for JSPs too.

3 Comments

no you can't, inface HTML file doesent require any URL patter configuration. In tomcat HTML files can be accessed directly with their corresponding URLs.
I thought that we can set url pattern for html file, then how in the welcome file list alone they are setting index.html as startup page
Welcome file is a special case. It is configurable so that one can set welcome page other than default i.e index.html. This way we can also set a servlet as a welcome page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.