废话不多说,开始了!!!!
平时我们自己搭建spring框架的时候可以遗忘一个细节
当我们在web.xml都这么写
<servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:public/spring/springMVC.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>在这里一般都说“/”或“ *.do ”或“ *.action ”
但是有没有想过如果加一串英文会是什么样都效果
<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/dungadmin/dungs/*</url-pattern> </servlet-mapping>比如这样,spring怎么去匹配呢
@Controller public class indexController { public static Logger logger = Logger.getLogger(indexController.class); @RequestMapping("/ddd") public String index(HttpServletRequest request, Model model) { logger.info("登录成功页面"); return "/successAgain"; } }
像这样都页面,你按第一种servlet-mapping拦截,你直接localhost:8080/ddd就可以了
但第二种,你加了一串英文,那匹配规则久要变一下了localhost:8080/dungadmin/dungs/ddd 这样才能访问到你到action
还有就是,如果你web.xml里面有两个spring,那就根据spring扫描controller,来匹配相应的servlet-mapping