web.xml直接跳转springmvc的链接问题

????

http://localhost/SSM  默认进入的是登陆页,如果登陆过后,再进入 http://localhost/SSM  ,应该让它进入首页。

我们可以直接在web.xml 配置 user/main.do

<?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>

以下是拦截器配置

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以上。

总结一句话:如果你的环境是SpringMVC,想在web.xml配置 直接跳转SpringMVC的链接,tomcat一定要是7以上

时间: 2024-10-23 20:49:11

web.xml直接跳转springmvc的链接问题的相关文章

web.xml配置SpringMVC时导致访问的页面资源不存在,跳转页面时出现404

web.xml配置文件 ,配置SpringMVC: <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 设置配置文件的名称 和路径 --> <init-param> <param-name>con

Web.xml详解(转)(Filter,context,listener)

web.xml 详细解释!!(链接) web.xml加载过程(步骤) 首先简单说一下,web.xml的加载过程. 当我们去启动一个WEB项目时,容器包括(JBoss.Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来. 启动web项目时,先读取web.xml中的节点: <listener></listener> 和 <context-param></context-param> 容器创建一个

SpringMVC的三个XML(web.xml、application-context.xml、context-dispatcher.xml)

现代Web应用程序广泛使用MVC(model.view.controller,记得在专升本的考试中还考过这个定义,当时并不能使用流畅的语言解释)模式,那么SpringMVC就恰好可以轻松帮我们搭建一个Web开发环境.而要搭好开发环境,熟知SpringMVC的三个XML(web.xml.application-context.xml.context-dispatcher.xml)就显得必不可少.而我呢,虽然前前后后左左右右也大见过三次Web框架,但每次都纠结的要了老命,那么痛定思痛,我决定下功夫把

SpringMVC配置web.xml文件详解(列举常用的配置)

常用的web.xml的配置 1.Spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2.在web.xml配置监听器ContextLoaderListener(listener-class) ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息.因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默

SpringMVC两种配置理解----web.xml还有JavaConfig

最近因为在上javaEE的课程一直在学习Spring,在网上找了很多资料,发现大多数都是通过web.xml配置的spring,而通过javaConfig配置的比较少,本人自己尝试了两种配置方法. 开发环境Eclipse+Maven+Tomcat ----------------------------------------------------------- 首先我们要清楚Spring整个工作过程---> 盗用Spring in Action里的这张图片,我们可以看到整个流程:(如果想全面了

SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签

游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个URL应当map到哪个Controller, 哪个方法上.而剩一下的这些复杂工作都是由DispatcherServet来完成的,即应用服务器加载DispatcherServlet调用init()方法时才能触发这项工作.所以,如果在web.xml中配置DispatcherServlet时不设置 <lo

SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签

游历SpringMVC源代码后发现,在web.xml中注冊的ContextLoaderListener监听器不过初始化了一个根上下文,只完毕了组件扫描和与容器初始化相关的一些工作,并没有探測到详细每一个URL应当map到哪个Controller, 哪个方法上.而剩一下的这些复杂工作都是由DispatcherServet来完毕的,即应用server载入DispatcherServlet调用init()方法时才干触发这项工作.所以,假设在web.xml中配置DispatcherServlet时不设置

SpringMVC项目中web.xml中的节点加载顺序问题

SpringMVC项目中web.xml中的节点加载顺序问题,之前以为web.xml中就是一些配置信息,和节点的顺序没有关系,后来才发现初始化时的加载顺序是和节点的顺序相关的. 完整的web.xml文件内容: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=&quo

SpringMVC基于代码的配置方式(零配置,无web.xml)

基于配置文件的web项目维护起来可能会更方便,但是有时候我们会有一些特殊的需求,比如防止客户胡乱更改配置,这时候我们需要给配置隐藏到代码中. 1.创建一个动态web项目(无需web.xml) 2.右键项目添加几个package: com.easyweb.config (保存项目配置) com.easyweb.controller (保存springMvc controller) 3.在 com.easyweb.config 新建一个类 WebApplicationStartup ,这个类实现We