猿教程 Logo

验证过滤器

我们可以在过滤器中执行验证。 这里,我们将在过滤器类中检查用户给出的密码,如果给定的密码是admin,它会将请求转发到WelcomeAdmin servlet,否则会显示错误消息。


使用过滤器验证用户的示例

让我们看看使用过滤器验证用户的简单示例。

  • index.html

  • MyFilter.java

  • AdminServlet.java

  • web.xml

index.html

<form action="servlet1">
Name:<input type="text" name="name"/><br/>
Password:<input type="password" name="password"/><br/>

<input type="submit" value="login">

</form>

MyFilter.java

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;

public class MyFilter implements Filter{

public void init(FilterConfig arg0) throws ServletException {}
	
public void doFilter(ServletRequest req, ServletResponse resp,
		FilterChain chain) throws IOException, ServletException {
		
	PrintWriter out=resp.getWriter();
		
	String password=req.getParameter("password");
	if(password.equals("admin")){
	chain.doFilter(req, resp);//sends request to next resource
	}
	else{
	out.print("username or password error!");
	RequestDispatcher rd=req.getRequestDispatcher("index.html");
	rd.include(req, resp);
	}
		
}
	public void destroy() {}

}

AdminServlet.java

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

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

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

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		out.print("welcome ADMIN");
		out.close();
	}
}

web.xml

<web-app>
 <servlet>
    <servlet-name>AdminServlet</servlet-name>
    <servlet-class>AdminServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AdminServlet</servlet-name>
    <url-pattern>/servlet1</url-pattern>
  </servlet-mapping>
  
 <filter>
  <filter-name>f1</filter-name>
  <filter-class>MyFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>f1</filter-name>
  <url-pattern>/servlet1</url-pattern>
  </filter-mapping>
  
</web-app>


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Servlet/authentication-filter.html