Heim > Java > javaLernprogramm > Eine kurze Einführung in den Servlet-Filter Filter (mit Beispielen)

Eine kurze Einführung in den Servlet-Filter Filter (mit Beispielen)

不言
Freigeben: 2018-11-24 16:54:34
nach vorne
3514 Leute haben es durchsucht

Der Inhalt dieses Artikels ist eine kurze Einführung in den Servlet-Filter (mit Beispielen). Freunde in Not können sich darauf beziehen.

Funktionen

1) Filter hängt vom Servlet-Container ab und ist Teil der Servlet-Spezifikation. Drei Schnittstellenklassen sind in der Servlet-API definiert: Filter, FilterChain, FilterConfig.

2) Die Grundfunktion besteht darin, den Prozess des Servlet-Aufrufs abzufangen, um einige spezielle Funktionen zu implementieren, bevor und nachdem das Servlet die Antwortverarbeitung durchführt.

3) Sie müssen die Ressourcen, die es abfangen kann, in der Datei web.xml registrieren und festlegen.

Kodierung

public class UserNoFilter implements Filter { 
    
	private FilterConfig filterConfig; //获取参数配置

	public void init(FilterConfig fConfig) throws ServletException {
		this.filterConfig = fConfig;
	}
	
	/**
	 * 业务逻辑判断
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		
		String initUser = filterConfig.getInitParameter("userNo");
		String userNo = request.getParameter("userNo");//从提交请求获取用户账号
		
		if(!initUser.equals(userNo)){
			request.setAttribute("message", "用户名不正确");
			request.getRequestDispatcher("/index.jsp").forward(request, response);
			return;
		}
		
		chain.doFilter(request, response);
	} 
	
	public void destroy() {
		 
	} 

}
Nach dem Login kopieren

web.xml-Parameter

	<!-- 配置过滤器 -->
	<filter>
		<display-name>UserNoFilter</display-name>
		<filter-name>UserNoFilter</filter-name>
		<filter-class>com.demo.filter.UserNoFilter</filter-class>
		<init-param>
			<param-name>userNo</param-name>
			<param-value>admin</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>UserNoFilter</filter-name>
		<url-pattern>/hello.jsp</url-pattern> 
	</filter-mapping>
Nach dem Login kopieren

Anwendung

1) Kodierungsformat angeben

request.setCharacterEncoding(encoding);
filterChain.doFilter(request, response);
Nach dem Login kopieren

2) Ob der Benutzer angemeldet ist und ob der Benutzer auf das Menü zugreifen kann

String userId=(String) session.getAttribute("userId");
if (userId ==null){
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in den Servlet-Filter Filter (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage