0

This is web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->

<web-app>
    <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>servlets.Login</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/reg/login</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>register</servlet-name>
        <servlet-class>servlets.Register</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>register</servlet-name>
        <url-pattern>/reg/signup</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>dashboard</servlet-name>
        <servlet-class>servlets.Dashboard</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>dashboard</servlet-name>
        <url-pattern>/user/dashboard</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>logout</servlet-name>
        <servlet-class>servlets.Logout</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>logout</servlet-name>
        <url-pattern>/reg/logout</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>edit</servlet-name>
        <servlet-class>servlets.EditProfile</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>edit</servlet-name>
        <url-pattern>/user/controlpanel/edit</url-pattern>
    </servlet-mapping>




    <!--####################################################-->

    <filter>
        <filter-name>regAuth</filter-name>
        <filter-class>filters.RegPathAuthFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>regAuth</filter-name>
        <url-pattern>/myWebApp/reg/login.html</url-pattern>
        <url-pattern>/myWebApp/reg/signup.html</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>regAccess</filter-name>
        <filter-class>filters.RegPathAccessFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>regAccess</filter-name>
        <url-pattern>/myWebApp/reg/login</url-pattern>
        <url-pattern>/myWebApp/reg/signup</url-pattern>

    </filter-mapping>

    <filter>
        <filter-name>userAuth</filter-name>
        <filter-class>filters.UserPathAuthFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>userAuth</filter-name>
        <url-pattern>/myWebApp/user/*</url-pattern>
        <url-pattern>/myWebApp/user/controlpanel/*</url-pattern>

    </filter-mapping>
    <filter>
        <filter-name>userAccess</filter-name>
        <filter-class>filters.UserPathAccessFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>userAccess</filter-name>
        <url-pattern>/myWebApp/user/dashboard.html</url-pattern>
        <url-pattern>/myWebApp/user/controlpanel/edit.html</url-pattern>
    </filter-mapping>
</web-app>

I have checked everything and debugged the project several times and haven't figured out the problem. the init method of all 4 filters will be invoked but when a request is sent, the doFilter method won't be invoked. I can't find any clue what's the problem.

So, How can I fix this problem? Where am I doing wrong?

If you need filters implementation, let me know.

Regards

HMD
  • 468
  • 1
  • 5
  • 21
  • 2
    I believe the problem is that you are including the context path in the filter match URL. Try e.g. `/reg/login.html` instead of `/myWebApp/reg/login.html`. – Nikos Paraskevopoulos Apr 29 '18 at 18:16
  • @NikosParaskevopoulos Thanks for your answer. The main problem was NetBeans which wouldn't deploy project properly. Because at first, I didn't include context path in filter mapping URL. now I'm manually deploying .war file in webapp folder and starting Tomcat. your answer helped me to understand context path. thank you – HMD Apr 30 '18 at 08:53

0 Answers0