-2

filter

import java.io.IOException;  
import java.io.PrintWriter;  

import javax.servlet.*;  

public class MyFilter implements Filter{  

@Override
public void init(FilterConfig arg0) throws ServletException {}  

@Override
public void doFilter(ServletRequest req, ServletResponse resp,  
    FilterChain chain) throws IOException, ServletException {  

    PrintWriter out=resp.getWriter();  
    out.print("filter is invoked before");  

    chain.doFilter(req, resp);//sends request to next resource  

    out.print("filter is invoked after");  
    }  
    public void destroy() {}  
}  

servlet

import java.io.IOException;  
import java.io.PrintWriter;  

import javax.servlet.ServletException;  
import javax.servlet.http.*;  

public class HelloServlet extends HttpServlet {  
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  

        response.setContentType("text/html");  
        PrintWriter out = response.getWriter();  

        out.print("<br>welcome to servlet<br>");  

    }  

}  

web.xml

<web-app>  

<servlet>  
 <servlet-name>HelloServlet</servlet-name>  
 <servlet-class>HelloServlet</servlet-class>  
</servlet>  

<servlet-mapping>  
 <servlet-name>HelloServlet</servlet-name>  
 <url-pattern>/HelloServlet</url-pattern>  
</servlet-mapping>  

<filter>  
 <filter-name>MyFilter</filter-name>  
 <filter-class>MyFilter</filter-class>  
</filter>  

<filter-mapping>  
 <filter-name>MyFilter</filter-name>  
 <url-pattern>/servlet1</url-pattern>  
</filter-mapping>  


</web-app>  

index.html

     <a href="servlet1">click here</a>  

error is :

HTTP Status 404 - Not Found

type Status report

messageNot Found

descriptionThe requested resource is not available. GlassFish Server Open Source Edition 4.0

I have given entire code plz help me find my error in am new to sevlet question may sound dumb but plz help me

Thusithz
  • 736
  • 1
  • 12
  • 33

2 Answers2

0

HTTP Status 404 - Not Found

because your servlet is mapped to /HelloServlet and your filter is trying to intercept servlet1 . since there is no servlet at servlet1 , container says no resource found.

change your filter mapping to /HelloServlet and <a href="/HelloServlet">click here</a>.

Ramanlfc
  • 8,283
  • 1
  • 18
  • 24
0

Try to change this:

   <a href="/servlet1">click here</a>  

With:

  <a href="/HelloServlet">click here</a> 
Abdelhak
  • 8,299
  • 4
  • 22
  • 36