记一次诡异的SpringMVC中拦截路径的问题

<!--springmvc中的核心控制器--><servlet>   <servlet-name>dispatcherServlet</servlet-name>   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   <init-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:springmvc.xml</param-value>   </init-param>   <load-on-startup>1</load-on-startup></servlet><servlet-mapping>   <servlet-name>dispatcherServlet</servlet-name>   <url-pattern>/</url-pattern></servlet-mapping>

静态资源映射
<mvc:resources mapping="/js/**" location="/js/"></mvc:resources>

一个按钮的点击事件的ajax
function getData() {    $.ajax({        url:"/testAjax",        type:"post",        contentType:"application/json;charset=utf-8",        data:‘{"name":"test","age":12}‘,        dataType:"json",        success:function(data){            alert(data);        },        error:function (data) {        alert("异常")    }})}

1.一开始没有做任何改动,点击按钮完全没有玩应,查看网页源代码,点击js文件,跳转到下面的方法中
@RequestMapping(name="/testString")public String testString(String id, HttpServletRequest request) {

    //1接受id    //2根据id查询用户    User user = new User();    user.setName("花花");    user.setAge(19);    //存入request域中    request.setAttribute("user", user);

    return "success";}
2.将url-pattern改为*.do后,点击按钮会弹出对话框:异常,查看网页源代码,点击js文件访问到的是js文件3.再将url-pattern改为/后,点击按钮会弹出对话框:data,查看网页源代码,点击js文件访问到的是js文件4.撤销操作回到一开始的状态,重启tomcat,正常操作,再次重启tomcat,回到结果1,且将/删除后重新输入/没有效果,只能执行2后,将*.do改回/才有效5.后又测试,只要是异常一次再将url-pattern改回/,就能正常操作

搞不懂。。。。。

原文地址:https://www.cnblogs.com/DSLLMV/p/10992900.html

时间: 2024-12-29 11:18:34

记一次诡异的SpringMVC中拦截路径的问题的相关文章

springmvc中拦截器与springmvc全局异常处理器的问题

最近在做一个练手的小项目, 系统架构中用了springmvc的全局异常处理器, 做了系统的统一异常处理. 后来加入了springmvc的拦截器, 为了一些需求, 在拦截器中的 preHandle 方法 中抛出了系统自定义异常, 当时有有个疑惑, 就是抛出的这个异常全局异常处理器怎么处理的. 这里的全局异常处理器时通过实现HandlerExceptionResolver这个借口实现的 要指出的是 resolveException方法 中 handler中代表的是什么,我没遇到这个问题之前我认为这玩

springmvc中拦截器的使用

拦截器的实现 1.编辑拦截器类实现HandlerInterceptor接口. 2.把拦截器注册到springmvc框架中. 3.配置拦截器的拦截规则 拦截器类: public class LoginHandler implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception

SpringMVC中拦截器的简单使用

SpringMVC的处理器拦截器类似于过滤器Filter,用于对处理器进行预处理和后处理. 例如做登录验证,日志,性能检测等. 一.编写拦截器,使其实现HandlerInterceptor接口 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; i

springmvc中拦截器的定义和配置

package com.hope.interceptor; import org.springframework.lang.Nullable;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest;import javax.servlet.ht

【SpringMVC学习11】SpringMVC中的拦截器

Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用方法. 1. springmvc拦截器的定义和配置 1.1 springmvc拦截器的定义 在springmvc中,定义拦截器要实现HandlerInterceptor接口,并实现该接口中提供的三个方法,如下: //测试拦截器1 public class HandlerInterceptor1 im

SpringMVC学习(十二)——SpringMVC中的拦截器

SpringMVC学习(十二)--SpringMVC中的拦截器 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下SpringMVC中拦截器是如何定义的,以及测试拦截器的执行情况和使用方法. SpringMVC中拦截器的定义和配置 SpringMVC中拦截器的定义 在SpringMVC中,定义拦截器要实现HandlerInterceptor接口,并实现该接口中提供的三个方法,如下: public class Inter

SpringMVC处理器拦截器

一.简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.常见应用场景如下: 日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等. 权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面: 性能监控:有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理器之前记录开始时间,在处理完后记录结束时间,从而得到该请求

SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

SpringMVC 中的Interceptor 拦截器

1.配置拦截器 在springMVC.xml配置文件增加: <mvc:interceptors>  <!-- 日志拦截器 -->  <mvc:interceptor>   <mvc:mapping path="/**" />   <mvc:exclude-mapping path="/static/**" />   <bean class="拦截器java代码路径" />