web123456

Spring MVC, interceptor implements session control

This article is based onSpring MVC annotations to make Spring run

If you are not logged in, you are not allowed to access the pages in the background folder. How to determine whether to log in? background is a key directory. Everyone who operates this directory needs to write it in the log table. How to implement it? Interceptor is one of the implementation solutions.

(1) Add SystemInterceptor to the package and make it inherit HandlerInterceptor

/**
  *
  * @author geloin
  * @date 2012-3-27 2:29:35 pm
  */
 package ;

 import ;
 import ;
 import ;

 import ;
 import ;
 import ;

 import ;
 import ;

 import ;
 import ;
 import ;
 import ;
 import ;

 /**
  *
  * @author geloin
  * @date 2012-3-27 2:29:35 pm
  */
 @Repository
 public class SystemInterceptor extends HandlerInterceptorAdapter {

	 @Resource(name = "systemLoggerService")
	 private SystemLoggerService systemLoggerService;

	 /*
	  * (non-Javadoc)
	  *
	  * @see
	  * #preHandle
	  * (,
	  * , )
	  */
	 @SuppressWarnings({ "rawtypes", "unchecked" })
	 @Override
	 public boolean preHandle(HttpServletRequest request,
			 HttpServletResponse response, Object handler) throws Exception {

		 ("UTF-8");
		 ("UTF-8");
		 ("text/html;charset=UTF-8");

		 // Backend session control
		 String[] noFilters = new String[] { "", "",
				 "", "" };
		 String uri = ();

		 if (("background") != -1) {
			 boolean beFilter = true;
			 for (String s: noFilters) {
				 if ((s) != -1) {
					 beFilter = false;
					 break;
				 }
			 }
			 if (beFilter) {
				 Object obj = ().getAttribute(
						 );
				 if (null == obj) {

					 // Not logged in
					 PrintWriter out = ();
					 StringBuilder builder = new StringBuilder();
					 ("<script type=\"text/javascript\" charset=\"UTF-8\">");
					 ("alert(\"page expired, please log in again\");");
					 ("=\"");
					 ();
					 ("/background/\";</script>");
					 (());
					 ();
					 return false;
				 } else {
					 // Add log
					 String operateContent = (uri);
					 if (null != operatorContent) {
						 String url = (("background"));
						 String ip = ();
						 Integer userId = ((SystemUserForm) obj).getId();
						 SystemLoggerForm form = new SystemLoggerForm();
						 (userId);
						 (ip);
						 (operateContent);
						 (url);
						 (form);
					 }
				 }
			 }
		 }

		 Map paramsMap = ();

		 for (Iterator<> it = ().iterator(); it
				 .hasNext();) {
			  entry = ();
			 Object[] values ​​= (Object[]) ();
			 for (Object obj : values) {
				 if (!(obj)) {
					 throw new RuntimeException("Illegal characters:" + obj);
				 }
			 }
		 }

		 return (request, response, handler);
	 }

 }

(2) Modify and let spring manage interceptors

<mvc:interceptors>
	<bean class="" />
</mvc:interceptors>