Der spezifische Code ist ein sehr einfacher Anmeldeberechtigungs -Interceptor und lautet wie folgt:
Der folgende Code ist der Code, der einst die Anmeldefilterung erbt:
/ ** * * @Author Geoin * @date 2012-4-10 14:37:38 */ package com.test.spring.filter; importieren java.io.ioException; Import Java.io.printwriter; importieren javax.servlet.filterchain; importieren javax.servlet.servletException; importieren javax.servlet.http.httpServletRequest; importieren javax.servlet.http.httpServletResponse; import org.springframework.web.filter.onceperrequestFilter; /** * Login-Filter * * @Author Geoin * @date 2012-4-10 14:37:38 PM * /public Class SessionFilter erstreckt sich einst vonPerRequestFilter { / * * (Nicht-Javadoc) * * @see * org.springFramework.web.Filter.onceperReperRequestfilter#Dofilterinternal ( javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) */ @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IoException {// filtriert URI String [] Notfilter = new String [] {"login.html", "index.html"}; // forderte URI -String uri = request.getRequesturi (); // filter if (uri.indexof ("Hintergrund")! = -1) {// ob boolean dofilter = true filtern; für (String S: Notfilter) {if (uri.indexof (s)! brechen; }} if (dofilter) {// Filterung durchführen // Anmeldung von Sitzungsobjekt Obj = Request.GetSession (). GetArttribute ("loginateUser"); if (null == obj) {// Wenn in der Sitzung die Anmeldeentität nicht vorhanden ist, fordert ein Popup-Box auf, sich erneut anzumelden // Die Zeichensatz von Anforderungen und Antwort, um eine verstümmelte Anforderung zu verhindern. response.setcharactercoding ("utf-8"); Printwriter out = response.getWriter (); String loginpage = "...."; StringBuilder Builder = new StringBuilder (); Builder.Append ("<script type =/" text/javaScript/">"); Builder.Append ("alert ('Die Webseite läuft ab, bitte melden Sie sich erneut an!');"); Builder.Append ("window.top.location.href = '"); Builder.Append (LoginPage); Builder.Append ("';"); Builder.Append ("</script>"); out.print (builder.tostring ()); } else {// Wenn in der Sitzung die Anmeldeentität existiert, setzen Sie filterchain.dofilter (request, Antwort) fort; }} else {// Wenn nicht Filterung durchgeführt wird, setzen Sie filterchain.dofilter (request, Antwort) fort; }} else {// Wenn der URI keinen Hintergrund enthält, setzen Sie filterchain.dofilter (Anfrage, Antwort) fort; }}} Nach dem Schreiben des Filters müssen Sie ihn in web.xml konfigurieren:
<Filter> <Filter-name> SessionFilter </filter-name> <Filter-Klasse> com.test.spring.filter.SessionFilter </Filter-Klasse> </filter> <Filter-Mapping> <Filter-Name> SessionFilter </filter-name> <url-patter
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.