2015-12-22 191 views
-2

濾波器HTTP狀態404 - 找不到

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> 

錯誤是:

HTTP狀態404 - 找不到

類型狀態報告

messageNot找到

descriptionThe請求的資源不可用。 的GlassFish Server開源版4.0

我已經給整個代碼plz幫助我找到我的錯誤 的是新來的sevlet 問題可能聽起來愚蠢的,但plz幫助我

+0

什麼是servlet1? – Abdelhak

回答

0

HTTP狀態404 - 找不到

因爲你的servlet被映射到/HelloServlet,你的過濾器試圖攔截servlet1。因爲在servlet1沒有servlet,容器說沒有找到資源。

將您的過濾器映射更改爲/HelloServlet<a href="/HelloServlet">click here</a>

+0

謝謝你的工作 –

0

嘗試改變這一點:

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

有了:

<a href="/HelloServlet">click here</a> 
+0

謝謝你的工作 –

+0

感謝它的工作 –

+0

過濾器映射改爲/ *和click here