Un interceptor de permiso de inicio de sesión muy simple, el código específico es el siguiente:
El siguiente código es el código que hereda OnceperRequestFilter para implementar el filtrado de inicio de sesión:
/ ** * * @author geoin * @Date 2012-4-10 2:37:38 pm */ paquete com.test.spring.filter; import java.io.ioException; import java.io.printwriter; import javax.servlet.filterchain; import javax.servlet.servletException; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; importar org.springframework.web.filter.onceperRequestFilter; /** * Filtro de inicio de sesión * * @Author Geoin * @Date 2012-4-10 2:37:38 PM * /Public Class SessionFilter se extiende una vez porRequestFilter { / * * (no javadoc) * * @see * org.springframework.web.filter.onceperRequestfilter#dofilterinternal ( * * * * * javax.servlet.http.httpservletRequest, * javax.servlet.http.httpservletResponse, javax.servlet.filterchain) */ @Override protegido void doFilterInternal (htttpServeResquest, httpServeSponse Respuesta FilterChain, FilterChain), FilterChain), FilterChilEcctual IoException {// pero una cadena URI filtrada [] nofilter = new String [] {"Login.html", "index.html"}; // solicitó una cadena URI uri = request.getRequesturi (); // Filtrar if (uri.indexof ("fondo")! = -1) {// si se filtra boolean dofilter = true; for (String S: NotFilter) {if (uri.indexof (s)! = -1) {// Si URI contiene URI sin filtrar, dofilter = false; romper; }} if (dofilter) {// realizar filtrado // obtener la entidad de inicio de sesión del objeto de sesión obj = request.getSession (). getAttribute ("LoginedUser"); if (null == obj) {// Si la entidad de inicio de sesión no existe en la sesión, un cuadro emergente solicita que inicie sesión nuevamente // Establezca el conjunto de caracteres de solicitud y respuesta para evitar la requería confusión. respuesta.setcharacterEncoding ("UTF-8"); PrintWriter out = Response.getWriter (); String LoginPage = "...."; StringBuilder Builder = new StringBuilder (); builder.append ("<script type =/" text/javaScript/">"); builder.append ("alerta ('la página web expira, ¡inicie sesión nuevamente!');"); builder.append ("window.top.location.href = '"); Builder.append (LoginPage); builder.append ("';"); builder.append ("</script>"); out.print (Builder.ToString ()); } else {// Si la entidad de inicio de sesión existe en la sesión, continúe filthain.dofilter (solicitud, respuesta); }} else {// Si no se realiza el filtrado, continúe filthain.dofilter (solicitud, respuesta); }} else {// Si el URI no contiene antecedentes, continúe filthain.dofilter (solicitud, respuesta); }}} Después de escribir el filtro, debe configurarlo en Web.xml:
<filter> <filter-name> sessionFilter </filter-name> <filter-class> com.test.spring.filter.sessionfilter </filter-class> </siltre> <filter-mapping> <filter-name> sessionFilter </filter-name> <url-pattern>/*</ url-pattern> </filter-mapping>
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.