Spring中拦截/和拦截/*的区别

在基于Spring MVC的Application中,需要在web.xml中增加下面类似的配置信息:

<!--   Spring MVC Servlet -->
<servlet>
  <servlet-name>servletName</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>servletName</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

此处需要特别强调的是 <url-pattern>/</url-pattern>使用的是/,而不是/*,如果使用/*,那么请求时可以通过DispatcherServlet转发到相应的Action或者Controller中的,但是返回的内容,如返回的jsp还会再次被拦截,这样导致404错误,即访问不到jsp。所以如果以后发现总是有404错误的时候,别忘了check一下 <url-pattern>/</url-pattern>的配置是否是/*.

时间: 2024-09-28 09:33:02

Spring中拦截/和拦截/*的区别的相关文章

Spring中Adivisor和Aspect的区别(自我理解)

在AOP中有几个概念: - 方/切 面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象.事务管理是J2EE应用中一个很好的横切关注点例子.方面用Spring的Advisor或拦截器实现. - 连接点/织入点(Joinpoint):程序执行过程中明确的点,如方法的调用或特定的异常被抛出. - 通知(Advice):在特定的连接点,AOP框架执行的动作.各种类型的通知包括"around"."before"和"throws"通知

【转载】Spring中DispatcherServlet与ContextLoaderListener的区别

昨天在写springmvc的时候,在web.xml中配置了DispatcherServlet,如下: <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>

Spring中ClassPathXmlApplication与FileSystemXmlApplicationContext的区别

Spring中ClassPathXmlApplication与FileSystemXmlApplicationContext的区别 一.概述 在项目中遇到加载不到Spring配置文件,简单分析后,写此文备忘! 二.测试所需资源 TestBean.java public class TestBean { public TestBean(){ System.out.println(this.getClass().getName().concat(" init !")); } public

Spring 中 ApplicationContext 和 BeanFactory 的区别,以及 Spring bean 作用域

//从ApplicationContext 中取 bean ApplicationContext ac = new ClassPathXmlApplicationContext ( "com/hsp/beans.xml" ) ; ac.getBean("beanId"); 当我们去实例化beans.xml,该文件中配置的 bean 就被实例化(不论你用还是不用,bean对象都在那),而且该对象是singleton单例的.(每个bean都有scope属性,可以人为的设

Spring中BeanFactory与FactoryBean的区别

在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混. 一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Bean的通用方法.Spring的容器都是它的具体实现如: DefaultListableBeanFactory XmlBeanFactory ApplicationContext 这些实现类又从

Spring中@Component和@Bean的区别

Spring 管理Bean的方式 Spring管理Bean分为两个部分,一个是注册Bean,一个装配Bean. 完成这两个动作有三种方式,一种是使用自动配置的方式.一种是使用JavaConfig的方式,一种就是使用XML配置的方式. @Component 把普通pojo实例化到spring容器中 @Bean 需要在配置类中使用,即类上需要加上@Configuration注解 两者都能通过@Autowired注解自动装配 @Compent和@Bean到底区别在哪? 在应用开发的过程中,如果想要将第

spring中ClassPathXmlApplication和FileSystemXmlApplicationContext使用区别

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");     DataSource ds = (DataSource) ac.getBean("ds");     System.out.println(ds); ClassPathXmlApplicationContext中的参数默然去classPath路径下找.可以加classpath:applic

Spring中BeanFactory和ApplicationContext的区别

我用一个例子去测试BeanFactory和ApplicationContext的区别 首先建立一个bean public class User {//声明无参构造,打印一句话,监测对象创建时机 public User(){ System.out.println("User对象初始化"); } } 然后再建立测试类 public class UserTest { @Test public void ApplicationContexttest(){ ApplicationContext

Spring 中拦截器与过滤器的区别

spring 中拦截器 与servlet 的filter 有相似之处.比如二者都是aop 编程思想的体现都能实现权限检查,日志记录等. 不同之处 使用范围不同 Filter 是Servlet 规定的.只能用于web 程序.而拦截器既可以用于Web 程序,也可以用于Apllicatioon,Swing程序中. 规范不同:Filter是在SerVlet 规范定义的,是Servlet容器支持的.而拦截器是在Spring 容器内的,Spring 框架所支持的. 使用资源不同:同其他代码块一样,拦截器也是

Spring MVC中使用Interceptor拦截器

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