web.xml直接跳轉springmvc的連接問題


http://localhost/SSM  默認進入的是登錄頁,若是登錄事後,再進入 http://localhost/SSM  ,應該讓它進入首頁。java

咱們能夠直接在web.xml 配置 user/main.do web

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SSM</display-name>
  <welcome-file-list>
    <welcome-file>user/main.do</welcome-file>
  </welcome-file-list>
</web-app>

如下是攔截器配置
spring

package com.gj.filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.gj.model.User;
public class LoginInterceptor implements HandlerInterceptor
{
//private Logger logger  = Logger.getLogger(LoginInterceptor.class);  
private static final String[] IGNORE_URI = {"/login","wechat","register","checkUsernameRepeat","save"};
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object obj) throws Exception {
boolean flag = false;
        String url = request.getRequestURL().toString();
        System.out.println(">>>: " + url);
        for (String s : IGNORE_URI) {
            if (url.contains(s)) {
                flag = true;
                break;
            }
        }
        if (!flag) {
            User user = (User) request.getSession().getAttribute("currentUser");
            if (user != null) 
            {
            if(null==user.getWechat_num_type() && url.indexOf("preSave.do")>-1 && url.indexOf("user") < 0){
                flag = false;
                request.getSession().setAttribute("info","true");
                response.sendRedirect(request.getContextPath()+"/user/preSave.do");
                }
            else
            {
            flag = true;
            }
               
            }
            else
            {
            response.sendRedirect(request.getContextPath()+"/login.jsp");
            }
        }
        return flag;
}
}

  若是發現 http://localhost/SSM 是404錯誤的話,在代碼沒有問題的狀況下,確認是不是tomcat7以上。tomcat

  總結一句話:若是你的環境是SpringMVC,想在web.xml配置 直接跳轉SpringMVC的連接,tomcat必定要是7以上app

相關文章
相關標籤/搜索