您的位置:首页 > 编程语言 > Java开发

springMVC 中使用 filter过滤 和 global 启动的时候 添加全局变量

2013-10-09 12:28 471 查看
当然  当时 也是百度出来的 呵呵我的springMVC 全是在 /control/下的在web.xml 中添加<filter><filter-name>sessionFilter</filter-name><filter-class>com.spring.filter.SessionFilter</filter-class></filter><filter-mapping><filter-name>sessionFilter</filter-name><url-pattern>/control/*</url-pattern></filter-mapping>然后添加  com.spring.filter.SessionFilter 类需要继承  OncePerRequestFilter复写 protected void doFilterInternal(HttpServletRequest request,HttpServletResponse response, FilterChain arg2)throws ServletException, IOException {这个方法最后 如果没有特殊处理则 执行 super.doFilter(request, response, arg2);  或者用 response 还回我在写这个的时候 有一个问题 就是 用ip来判断是否在别的地方登陆了   我发现有些地区登陆ip不断变化使用的方法是
public static String getRemortIP(HttpServletRequest request) {if (request.getHeader("x-forwarded-for") == null) {return request.getRemoteAddr();}return request.getHeader("x-forwarded-for");}
后来使用 String SessionID = request.getSession().getId(); 来判断是否有别人登陆全局变量的添加 在启动的时候 执行一次在web.xml中加入
<servlet><servlet-name>global</servlet-name><servlet-class>com.spring.global.global</servlet-class><load-on-startup>2</load-on-startup></servlet>
再加入代码
package com.spring.global;import java.util.List;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import com.application.factory.BaseManagerFactory;import com.ssc.pojo.SysConfig;@SuppressWarnings("serial")public class global extends HttpServlet {@Overridepublic void init() throws ServletException {List<SysConfig> sys = BaseManagerFactory.getSysConfigDAO().findAll();for ( SysConfig sysConfig : sys) {this.getServletContext().setAttribute(sysConfig.getKey(),sysConfig.getValue());}}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: