①:使用Filter,判断用户名是否为空,为空的话返回登录画面。

1,web.xml:
1.<filter>
2. <filter-name>SecurityServlet</filter-name>
3. <filter-class>com.msm2.filter.MyFilter</filter-class>
4. </filter>
5.
6. <filter-mapping>
7. <filter-name>SecurityServlet</filter-name>
8. <url-pattern>/*</url-pattern>
9. </filter-mapping> 2,spring-mvc.xml:
1<bean id="loginController" class="com.msm2.controller.LoginController" />
2.<bean id="mainController" class="com.msm2.controller.MainController" />
3.<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
4.  <property name="mappings">
5.    <props>
6.      <prop key="login">loginController</prop>
7.      <prop key="userLogin">mainController</prop>
8.    </props>
9.  </property>
10.</bean> package com.msm2.filter; import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger; public class MyFilter extends HttpServlet implements Filter { private static final long serialVersionUID = 1L;
private static final Logger LOGGER = Logger.getLogger(MyFilter.class);
String encode = null; @Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException { arg0.setCharacterEncoding(encode);
arg1.setCharacterEncoding(encode); HttpServletRequest request = (HttpServletRequest) arg0;
HttpServletResponse response = (HttpServletResponse) arg1;
HttpSession session = request.getSession(true); String url=request.getRequestURI();
if (url.indexOf("login")<0){
// 不是login画面
System.out.println("不是login画面");
if (request.getParameter("userId") ==null || "".equals(request.getParameter("userId"))) {
// 不是login画面并且用户名为null
System.out.println("不是login画面并且用户名为null");
response.sendRedirect(request.getContextPath() + "/login");
} else {
System.out.println("不是login画面但是用户名不为null");
// 不是login画面但是用户名不为null
arg2.doFilter(arg0, arg1);
} } else {
// login画面
System.out.println("login画面");
arg2.doFilter(arg0, arg1);
} @Override
public void init(FilterConfig arg0) throws ServletException {
encode = "utf-8";
} } 写的虽然简单,但是初步实现了目标,以后对Filter理解的更深,再进一步记录。

最新文章

  1. 545C. Woodcutters
  2. ligerui grid行编辑示例
  3. Ajax入门小例子
  4. Android ActionBar中的下拉菜单
  5. 纯CSS3实现宽屏二级下拉菜单
  6. ASE中的主要数据库
  7. 日本語N1文法まとめ
  8. 201521123063 《JAVA程序设计》 第5周学习总结
  9. Answers to &quot;Why are my jobs not running?&quot;
  10. 一条命令解决mac版本python IDLE无法输入中文问题
  11. Ehcache入门经典:第一篇
  12. ES6中的类和继承
  13. 剑指offer(17)层次遍历树
  14. iOS-关于缓存【SDImageCache】Image,一直刷新UIImageView内存一直增加问题
  15. mysql基础讲解
  16. uva11983扫描线k次覆盖
  17. (转)JPA &amp; Restful
  18. Rxbus的使用
  19. mysql开启远程连接及本地连接
  20. 手机屏幕左下角显示Fastboot mode是什么情况?

热门文章

  1. November 3rd Week 45th Thursday 2016
  2. Linux下Source Insight的安装和汉化
  3. [LeetCode] Lowest Common Ancestor of a Binary Tree 二叉树的最小共同父节点
  4. 红豆电信JS
  5. 命令行工具aspnet_regiis.exe实现加密和解密web.config
  6. CSS:position:fixed使用(转)
  7. Git中如何利用生成SSH个人公钥访问git仓库
  8. OC与JavaScript的交互
  9. Beta版本冲刺第一天
  10. 无限制使用ppt转pdf功能